*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:#080808;font-family:'Inter',Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}header{position:absolute;top:24px;left:5.35%;z-index:2}.wordmark{font-size:38px;line-height:1;font-weight:800;letter-spacing:-2.6px;color:inherit;text-decoration:none}.wordmark span{font-size:13px;letter-spacing:0;vertical-align:top;display:inline-block;margin:3px 0 0 4px}.hero{min-height:712px;height:79.2vw;max-height:920px;display:flex;align-items:center;flex-direction:column;padding:clamp(170px,23.4vw,280px) 4% 100px;text-align:center}.hero h1{font-size:clamp(56px,10.8vw,164px);letter-spacing:-.072em;line-height:.88;font-weight:600;margin:0;width:100%}.hero h1 span{display:block}.hero p{font-size:clamp(18px,2.22vw,25px);line-height:1.12;letter-spacing:-.045em;max-width:470px;width:48%;margin:40px auto 0}.work{padding:0 5.35% 5.35%}.work-heading{display:flex;align-items:center;gap:18px;font:14px/1.3 'Urbanist',ui-monospace,monospace;letter-spacing:.04em;margin-bottom:32px;min-height:29px}.rule{height:1px;background:#e7e7e7;flex:1}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,1.5vw,24px)}.tile{margin:0;aspect-ratio:1;overflow:hidden;border-radius:clamp(18px,2.6vw,36px);background:#f2f2f2;isolation:isolate}.tile video{width:100%;height:100%;display:block;object-fit:cover;pointer-events:none}.tile.enter{animation:arrive .8s cubic-bezier(.2,.7,.2,1) both;animation-delay:var(--delay)}video::-webkit-media-controls{display:none!important}a:focus-visible{outline:2px solid #111;outline-offset:8px}@keyframes arrive{from{opacity:0;transform:translateY(48px)}to{opacity:1;transform:translateY(0)}}@media(min-width:1600px){.hero{height:850px;min-height:850px;padding-top:260px}}@media(max-width:600px){header{top:22px;left:20px}.wordmark{font-size:32px}.hero{height:auto;min-height:590px;padding:180px 18px 110px}.hero h1{font-size:11vw;line-height:.95;letter-spacing:-.065em}.hero p{width:84%;max-width:310px;font-size:19px;line-height:1.2;margin-top:28px}.work{padding:0 16px 32px}.work-heading{font-size:12px;gap:12px;margin-bottom:20px}.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.tile{border-radius:18px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.tile.enter{animation:none}}

.pricing-section { padding: 0 0 80px; margin-top: -48px; position: relative; z-index: 30; }
.pricing-inner { max-width: 1200px; margin: 0 auto; padding: 0 40px; text-align: center; }
.pricing-inner h2 { font-size: clamp(32px, 5vw, 52px); font-weight: 500; letter-spacing: -0.025em; }
.pricing-sub { color: var(--muted); margin-top: 16px; font-size: 15px; line-height: 1.6; max-width: 480px; margin-left: auto; margin-right: auto; }
.pricing-toggle {
  display: inline-flex; margin-top: 32px; border-radius: 100px;
  background: var(--surface); padding: 4px; position: relative;
}
.pricing-toggle button {
  padding: 10px 28px; font-size: 14px; font-weight: 500; font-family: var(--font);
  background: transparent; color: var(--muted); cursor: pointer; border: none;
  border-radius: 100px; position: relative; z-index: 1;
  transition: color 0.3s;
}
.pricing-toggle button.active { color: var(--fg); }
.pricing-toggle-pill {
  position: absolute; top: 4px; bottom: 4px;
  border-radius: 100px; background: #fff;
  box-shadow: 0 1px 4px rgba(0,0,0,0.1);
  transition: left 0.3s cubic-bezier(0.16, 1, 0.3, 1), width 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}
.pricing-grid {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px;
  margin-top: 48px; text-align: left;
}
.pricing-card {
  border: 1px solid var(--border); border-radius: 16px; padding: 32px 28px;
  display: flex; flex-direction: column; background: var(--bg);
  transition: border-color 0.3s, transform 0.3s;
}
.pricing-card:hover { border-color: rgba(0,0,0,0.2); transform: translateY(-4px); }
.pricing-card.featured { background: var(--fg); color: #fff; border-color: var(--fg); }
.pricing-card.featured .pricing-card__desc,
.pricing-card.featured .pricing-feat { color: rgba(255,255,255,0.6); }
.pricing-card.featured .pricing-card__yearly { color: rgba(255,255,255,0.5); }
.pricing-card.featured .pricing-feat svg { color: #34c759; }
.pricing-card.featured .pricing-card__btn { background: #fff; color: var(--fg); border-color: #fff; }
.pricing-card__name { font-size: 20px; font-weight: 600; }
.pricing-card__desc { font-size: 14px; color: var(--muted); margin-top: 8px; line-height: 1.5; min-height: 42px; }
.pricing-card__price { margin-top: 24px; display: flex; align-items: baseline; gap: 4px; }
.pricing-card__dollar { font-size: 16px; font-weight: 500; align-self: flex-start; margin-top: 8px; }
.pricing-card__amount { font-size: clamp(40px, 5vw, 56px); font-weight: 700; letter-spacing: -0.02em; line-height: 1; }
.pricing-card__period { font-size: 14px; color: var(--muted); }
.pricing-card__yearly { font-size: 12px; color: var(--muted); margin-top: 6px; }
.pricing-card__custom { font-size: clamp(36px, 5vw, 48px); font-weight: 700; letter-spacing: -0.02em; margin-top: 24px; }
.pricing-card__custom-sub { font-size: 14px; color: var(--muted); margin-top: 4px; }
.pricing-feats { margin-top: 24px; display: flex; flex-direction: column; gap: 10px; flex: 1; }
.pricing-feat {
  display: flex; align-items: flex-start; gap: 8px; font-size: 14px; color: var(--fg); line-height: 1.4;
}
.pricing-feat svg { width: 16px; height: 16px; flex-shrink: 0; margin-top: 2px; color: #34c759; }
.pricing-feat.disabled { color: var(--muted); }
.pricing-feat.disabled svg { color: rgba(0,0,0,0.2); }
.pricing-card__btn {
  display: flex; align-items: center; justify-content: center; gap: 0;
  height: 48px; border-radius: 100px; font-size: 14px; font-weight: 500;
  border: 1px solid var(--border); background: transparent; color: var(--fg);
  margin-top: 28px; cursor: pointer; font-family: var(--font);
  transition: background 0.2s, transform 0.15s, gap 0.2s ease;
}
.pricing-card__btn::after {
  content: '\2192'; display: inline-block; font-size: 16px;
  opacity: 0; max-width: 0; overflow: hidden;
  transition: opacity 0.2s, max-width 0.2s ease, transform 0.2s;
  transform: translateX(-4px);
}
.pricing-card__btn:hover::after { opacity: 1; max-width: 20px; transform: translateX(0); }
.pricing-card__btn:hover { background: rgba(0,0,0,0.03); transform: scale(1.02); gap: 8px; }
.pricing-card.featured .pricing-card__btn:hover { background: rgba(255,255,255,0.9); }
.pricing-note { font-size: 12px; color: var(--muted); margin-top: 32px; text-align: center; }
@media (max-width: 768px) {
  .pricing-grid { grid-template-columns: 1fr; }
}

:root{--bg:#f7f5f0;--fg:#1a1a1a;--muted:#706657;--border:#e0e0dc;--surface:#e5ded0;--font:'Inter',Arial,Helvetica,sans-serif}section[id]{scroll-margin-top:100px}.site-nav{position:fixed;inset:0 0 auto;z-index:100;min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px 5.35%;background:rgba(255,255,255,.8);backdrop-filter:blur(20px);transition:transform .35s,opacity .35s,filter .35s}.site-nav.is-hidden:not(:focus-within){transform:translateY(-100%);opacity:0;filter:blur(8px);pointer-events:none}.nav-links,.nav-right{display:flex;align-items:center;gap:28px}.nav-links a{color:inherit;text-decoration:none;font-size:14px;position:relative}.nav-links a:after{content:'';position:absolute;bottom:-6px;left:0;right:0;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .2s}.nav-links a:hover:after,.nav-links a[aria-current]:after{transform:scaleX(1)}.nav-right{gap:12px}.nav-cta{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 22px;border-radius:99px;background:#080808;color:#fff;text-decoration:none;font-size:14px;transition:transform .2s}.menu-btn{display:none;position:relative;width:44px;height:44px;border:1px solid #ddd;border-radius:50%;background:transparent;cursor:pointer}.menu-btn span{position:absolute;left:13px;width:16px;height:1.5px;background:#111;top:21px;transition:transform .25s,opacity .25s}.menu-btn span:first-child{transform:translateY(-5px)}.menu-btn span:last-child{transform:translateY(5px)}.menu-btn[aria-expanded=true] span:first-child{transform:rotate(45deg)}.menu-btn[aria-expanded=true] span:nth-child(2){opacity:0}.menu-btn[aria-expanded=true] span:last-child{transform:rotate(-45deg)}.site-nav.scrolled .nav-links{display:none}.site-nav.scrolled .menu-btn{display:block}.menu-dropdown{position:fixed;inset:0;z-index:200;background:var(--bg);display:flex;flex-direction:column;justify-content:center;padding:0 28px;opacity:0;pointer-events:none;visibility:hidden;transition:opacity .3s ease}.menu-dropdown[hidden]{display:none}.menu-dropdown.open{opacity:1;pointer-events:auto;visibility:visible}.menu-close{position:absolute;top:20px;right:20px;width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--border);border-radius:50%;color:var(--fg);cursor:pointer;transition:opacity .2s}.menu-close:hover{opacity:.7}.menu-links{display:flex;flex-direction:column}.menu-links a{display:block;text-decoration:none;color:var(--fg);font-size:clamp(28px,6vw,42px);font-weight:500;letter-spacing:-.03em;padding:20px 0;border-bottom:1px solid var(--border)}.menu-links a:first-child{border-top:1px solid var(--border)}.menu-links a:hover{opacity:.6}.menu-actions{display:flex;flex-direction:column;gap:12px;margin-top:40px}.menu-cta{display:flex;align-items:center;justify-content:center;height:56px;border-radius:99px;background:var(--fg);color:var(--bg);font-size:16px;font-weight:500;text-decoration:none;transition:opacity .2s}.menu-cta:hover{opacity:.85;color:var(--bg)}.menu-login{display:flex;align-items:center;justify-content:center;height:56px;border-radius:99px;border:1px solid var(--border);background:transparent;color:var(--fg);font-size:16px;font-weight:500;text-decoration:none;transition:opacity .2s}.menu-login:hover{opacity:.7}button:focus-visible{outline:2px solid currentColor;outline-offset:4px}.hero-content{width:100%;transform-origin:50% 50%;will-change:transform,filter,opacity}.hero h1>span{display:block}.hero h1 .char{display:inline-block;animation:character-in .65s cubic-bezier(.3,.06,.13,1) both;animation-delay:var(--char-delay)}.hero h1 .char-space{white-space:pre}.hero-content>p{animation:character-in .9s var(--description-delay,4s) both}.site-nav.intro{animation:nav-in .9s 1.35s both}.overview{padding:130px 0 100px}.overview-inner{padding:0 5.35%;max-width:1520px;margin:auto}.eyebrow{font:14px/1.4 ui-monospace,monospace;letter-spacing:.06em;margin:0 0 28px}.overview h2{font-size:clamp(36px,4.7vw,68px);font-weight:500;letter-spacing:-.055em;line-height:1.05;max-width:830px;margin:0}.overview .lead{font-size:18px;line-height:1.6;max-width:570px;color:var(--muted);margin:24px 0 0}.feat-rows{border-top:1px solid var(--border);margin-top:64px}.feat-row{border-bottom:1px solid var(--border);transition:background .3s}.feat-row:hover{background:#f7f7f7}.feat-row-inner{display:flex;gap:28px;max-width:1520px;margin:auto;padding:38px 5.35%;align-items:center}.feat-num{font:14px ui-monospace,monospace;color:var(--muted)}.feat-content{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;flex:1}.feat-content h3{font-size:clamp(26px,3vw,42px);letter-spacing:-.04em;font-weight:500;margin:0;transition:transform .35s}.feat-content p{font-size:16px;line-height:1.6;color:var(--muted);max-width:440px;margin:0}.feat-row:hover h3{transform:translateX(12px)}.pricing-section{padding:100px 0 120px;margin:0;z-index:auto}.pricing-inner{max-width:1440px;padding:0 5.35%}.pricing-inner h2{font-size:clamp(40px,5vw,68px);margin:0;letter-spacing:-.055em}.pricing-sub{font-size:18px}.pricing-card{border-radius:24px;padding:32px;min-width:0}.pricing-card__desc{font-size:16px;line-height:1.5;min-height:72px}.pricing-card__yearly,.pricing-note{font-size:14px}.pricing-feat{font-size:16px}.pricing-card.featured .pricing-card__period{color:#b3b3b3}.pricing-card__btn{text-decoration:none;min-height:48px}.rv.reveal-ready{opacity:0;filter:blur(12px);transform:translateY(32px)}.rv.reveal-ready.visible{opacity:1;filter:blur(0);transform:translateY(0);transition:opacity .8s,filter .8s,transform .8s}@keyframes character-in{from{opacity:0;filter:blur(8px);transform:translateY(8px)}to{opacity:1;filter:blur(0);transform:translateY(0)}}@keyframes nav-in{from{opacity:0;filter:blur(12px);translate:0 -30px}to{opacity:1;filter:blur(0);translate:0 0}}@keyframes menu-in{from{opacity:0;transform:translateY(-8px) scale(.95)}to{opacity:1;transform:none}}@media(max-width:800px){.site-nav{min-height:76px;padding:16px 20px}.nav-links{display:none}.menu-btn{display:block}.nav-right{gap:8px}.nav-cta{padding:0 16px}.menu-dropdown{padding:0 24px}.overview{padding:80px 0 60px}.overview-inner{padding:0 24px}.feat-row-inner{padding:28px 24px;gap:18px;align-items:start}.feat-num{padding-top:7px}.feat-content{grid-template-columns:1fr;gap:14px}.pricing-section{padding:70px 0 80px}.pricing-inner{padding:0 20px}.pricing-grid{grid-template-columns:1fr;max-width:520px;margin:36px auto 0}.pricing-card__desc{min-height:0}.pricing-card__amount{font-size:52px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.hero-content{transform:none!important;filter:none!important;opacity:1!important}.rv.reveal-ready{opacity:1;filter:none;transform:none}}

.salt-footer {
  position: relative; z-index: 20;
  background: #000; color: #f5f5f5;
  height: 60vh;
  display: flex; flex-direction: column;
}
.salt-footer-canvas-wrap {
  position: absolute; inset: 0; pointer-events: none; overflow: hidden; z-index: 1;
}
.salt-footer-canvas-wrap canvas { display: block; width: 100%; height: 100%; pointer-events: auto; cursor: crosshair; }
.salt-footer-bar {
  position: relative; z-index: 10;
  margin-top: auto;
  display: flex; align-items: center; justify-content: space-between;
  padding: 40px 40px 32px;
}
.salt-footer-brand { display: flex; align-items: center; flex-shrink: 0; }
.salt-footer-brand svg { height: 24px; width: auto; display: block; color: #f5f5f5; }
.salt-footer-rights {
  position: absolute; left: 50%; transform: translateX(-50%);
  font-size: 14px; letter-spacing: 0.02em; color: rgba(255,255,255,0.4);
  white-space: nowrap; pointer-events: none;
}
.salt-footer-nav { display: flex; align-items: center; gap: 8px; font-size: 14px; letter-spacing: 0.02em; }
.salt-footer-nav a { color: rgba(255,255,255,0.4); text-decoration: none; transition: color 0.2s ease; }
.salt-footer-nav a:hover { color: #fff; }
.salt-footer-divider { color: rgba(255,255,255,0.15); font-weight: 300; }

@media (max-width: 768px) {
  .salt-footer { height: auto; }
  .salt-footer-bar {
    flex-direction: column; gap: 12px; padding: 10px 20px 16px;
    align-items: center;
  }
  .salt-footer-brand { order: 1; }
  .salt-footer-nav { order: 2; gap: 10px; font-size: 12px; flex-wrap: wrap; justify-content: center; }
  .salt-footer-rights { position: static; transform: none; font-size: 12px; order: 3; }
  .salt-footer-divider { font-size: 12px; }
}


.salt-footer{min-height:420px}.salt-footer-bar{padding:40px 5.35% 32px;gap:28px}.salt-footer-nav{gap:20px}.salt-footer-rights{position:static;transform:none;color:#a3a3a3}.salt-footer-nav a{color:#a3a3a3}.salt-footer a:focus-visible{outline-color:white}.salt-footer-canvas-wrap{bottom:90px}.salt-footer-bar{background:linear-gradient(transparent,#000 35%)}@media(max-width:800px){.salt-footer{min-height:370px}.salt-footer-bar{flex-direction:column;padding:24px 20px;gap:16px}.salt-footer-nav{flex-wrap:wrap;justify-content:center;gap:18px;font-size:14px}.salt-footer-rights{font-size:12px}.salt-footer-canvas-wrap{bottom:150px}}
/* Compact first screen: keep the first row of work visible beneath the hero. */
.hero{height:70svh;min-height:420px;max-height:720px;padding:100px 4% 64px;justify-content:center}.hero p{margin-top:32px}.hero h1{font-size:clamp(56px,min(10.8vw,16svh),164px)}.work-heading{margin-bottom:24px}
/* Salt V2's transparent, fading frosted layer lives behind the nav content. */
.site-nav{height:56px;min-height:56px;padding:0 32px;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;isolation:isolate;transform:none;filter:none;opacity:1;transition:none;color:var(--fg)}.site-nav::before{content:'';position:absolute;inset:0;z-index:-1;background:hsla(0,0%,100%,.001);backdrop-filter:blur(20px) saturate(1.08);-webkit-backdrop-filter:blur(20px) saturate(1.08);mask-image:linear-gradient(180deg,#000 0,rgba(0,0,0,.92) 38%,transparent);-webkit-mask-image:linear-gradient(180deg,#000 0,rgba(0,0,0,.92) 38%,transparent)}.site-nav .wordmark{font-size:30px}.site-nav .wordmark,.site-nav .nav-links,.site-nav .nav-right{transition:opacity .35s cubic-bezier(.16,1,.3,1),filter .35s cubic-bezier(.16,1,.3,1),transform .35s cubic-bezier(.16,1,.3,1)}.site-nav.is-hidden:not(:focus-within){transform:none;filter:none;opacity:1;pointer-events:auto}.site-nav.is-hidden:not(:focus-within) .wordmark,.site-nav.is-hidden:not(:focus-within) .nav-links,.site-nav.is-hidden:not(:focus-within) .nav-right{opacity:0;filter:blur(8px);transform:translateY(-20px);pointer-events:none}.site-nav.scrolled .nav-links{display:flex;opacity:0;pointer-events:none;width:0;overflow:hidden;visibility:hidden}.site-nav.scrolled .nav-login,.site-nav.scrolled .nav-cta{display:none!important}.nav-cta{height:36px;min-height:36px;padding:0 18px;font-size:13px;gap:6px;white-space:nowrap;flex-shrink:0;background:var(--fg);color:var(--bg);transition:opacity .15s,background .15s,color .15s}.theme-toggle,.menu-btn{display:block;width:36px;height:36px;flex-shrink:0;border:1px solid var(--border);background:transparent;border-radius:50%;color:inherit;cursor:pointer;transition:opacity .3s,transform .15s,border-color .3s}.theme-toggle{display:grid;place-items:center;padding:8px}.theme-toggle svg{width:18px;height:18px}.theme-toggle .sun-icon{display:none}.theme-toggle:hover,.menu-btn:hover,.site-nav .nav-login:hover{opacity:.8;transform:scale(1.03) translateY(-2px)}.menu-btn{opacity:0;pointer-events:none;visibility:hidden}.site-nav.scrolled .menu-btn{opacity:1;pointer-events:auto;visibility:visible}.menu-btn span{left:10px;top:17px;width:14px;background:currentColor}.nav-links a:after{display:none}.nav-links a:hover{opacity:.65}.site-nav.over-dark{color:#fff}.site-nav.over-dark .nav-cta{background:#fff;color:#080808}.site-nav.over-dark .theme-toggle,.site-nav.over-dark .menu-btn{border-color:var(--border)}
:root{--menu-bg:rgba(255,255,255,.85)}html[data-theme=dark]{color-scheme:dark;--bg:#101010;--fg:#f5f5f5;--muted:#aaa;--border:#ffffff26;--surface:#202020;--menu-bg:rgba(20,20,20,.85)}body{background:var(--bg);color:var(--fg)}.rule{background:var(--border)}.tile{background:var(--surface)}.feat-row:hover{background:var(--surface)}.pricing-toggle-pill{background:var(--bg)}.pricing-card:hover{border-color:var(--muted)}.pricing-feat.disabled svg{color:var(--muted)}.pricing-card.featured{background:#080808;color:#fff}.pricing-card.featured .pricing-card__btn{color:#080808}.pricing-card__btn:hover{background:var(--surface)}a:focus-visible{outline-color:var(--fg)}html[data-theme=dark] .theme-toggle .moon-icon{display:none}html[data-theme=dark] .theme-toggle .sun-icon{display:block}html[data-theme=dark] .pricing-card.featured{border-color:#555}html[data-theme=dark] .site-nav::before{background:hsla(0,0%,0%,.001)}
@media(max-width:800px){.site-nav{padding:0 20px}.site-nav .nav-links{display:none}.site-nav .menu-btn{opacity:1;visibility:visible;pointer-events:auto}.site-nav .nav-login,.site-nav .nav-cta{display:none!important}.nav-right{gap:8px}.menu-dropdown{padding:0 24px}.hero{height:68svh;min-height:380px;max-height:620px;padding:100px 18px 50px}.hero h1{font-size:11vw}.hero p{margin-top:28px}}@media(max-width:380px){.site-nav{padding:0 14px}.nav-right{gap:6px}.nav-cta{padding:0 12px}.site-nav .wordmark{font-size:27px}}@media(prefers-reduced-motion:reduce){.site-nav *,.menu-dropdown{transition:none!important}}
.site-nav.intro{animation:none}.site-nav.intro .wordmark,.site-nav.intro .nav-links a,.site-nav.intro .nav-right{animation:nav-item-in 1s cubic-bezier(.3,.06,.13,1) both;animation-delay:1.35s}.site-nav.intro .nav-links a:nth-child(1){animation-delay:1.4s}.site-nav.intro .nav-links a:nth-child(2){animation-delay:1.45s}.site-nav.intro .nav-links a:nth-child(3){animation-delay:1.5s}.site-nav.intro .nav-right{animation-delay:1.6s}@keyframes nav-item-in{from{opacity:0;filter:blur(16px);transform:translateY(-120%)}to{opacity:1;filter:blur(0);transform:none}}

.work-heading{font-size:10pt;text-transform:uppercase}.work-heading>span:not(.rule){white-space:nowrap}

/* Footer shares the page surface in both themes. */
.salt-footer,.salt-footer-bar{background:transparent;color:var(--fg)}
.salt-footer-brand svg{color:var(--fg)}
.salt-footer-brand svg path[fill="white"]{fill:currentColor}
.salt-footer-brand svg path[fill="#000"]{fill:var(--bg)}
.salt-footer-nav a,.salt-footer-rights{color:var(--muted)}
.salt-footer-nav a:hover{color:var(--fg)}
.salt-footer a:focus-visible{outline-color:var(--fg)}

.pricing-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:920px;margin-left:auto;margin-right:auto}@media(max-width:800px){.pricing-grid{grid-template-columns:1fr;max-width:520px}}

.clients-section{padding:48px 5.35% 100px;max-width:1440px;margin:auto}.clients-section h2{font:10pt/1.5 'Urbanist',ui-monospace,monospace;letter-spacing:.06em;text-align:center;font-weight:400;color:var(--muted);margin:0 0 40px}.client-logos{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:20px 32px}.client-logos li{display:flex;align-items:center;justify-content:center;min-height:100px}.client-logos img{display:block;width:var(--logo-width);max-width:100%;height:auto;max-height:44px;object-fit:contain;filter:grayscale(1) invert(1);opacity:.8}html[data-theme=dark] .client-logos img{filter:grayscale(1);opacity:.88}@media(max-width:900px){.client-logos{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px 24px}}@media(max-width:600px){.clients-section{padding:32px 24px 64px}.client-logos{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px 22px}.client-logos li{min-height:76px}.client-logos img{max-height:32px}.clients-section h2{margin-bottom:28px}}


/* Salt V2 service image follows the pointer, without intercepting it. */
.service-hover-preview{position:fixed;z-index:80;width:320px;height:230px;border:1px solid var(--border);border-radius:16px;overflow:hidden;background:var(--surface);box-shadow:0 30px 70px -25px rgba(0,0,0,.45);pointer-events:none;opacity:0;transform:scale(.92);transition:opacity .2s,transform .2s cubic-bezier(.16,1,.3,1);visibility:hidden}
.service-hover-preview.show{opacity:1;transform:scale(1);visibility:visible}
.service-hover-preview img{width:100%;height:100%;display:block;object-fit:contain}
@media(min-width:1024px) and (hover:hover) and (pointer:fine){.feat-content p{transition:transform .5s cubic-bezier(.16,1,.3,1),color .5s}.feat-row:hover p{transform:translateX(12px);color:var(--fg)}}
@media(max-width:1023px),(hover:none),(pointer:coarse){.service-hover-preview{display:none}}
@media(prefers-reduced-motion:reduce){.service-hover-preview,.feat-content p{transition:none}}
/* Client stories, using the supplied split-panel testimonial layout. */
.testimonial-section{max-width:1240px;margin:0 auto;padding:16px 5.35% 100px;--quote-accent:#3a6ff8}.testimonial-section>.eyebrow{text-align:center;margin-bottom:40px}.testimonial-card{position:relative}.testimonial-slide{display:grid;grid-template-columns:1fr 1.4fr;min-height:440px}.testimonial-slide[hidden]{display:none}.testimonial-left,.testimonial-right{position:relative;border:1px dashed var(--border)}.testimonial-left{padding:24px;border-right:0;display:flex;align-items:stretch}.testimonial-left:before,.testimonial-left:after,.testimonial-right:before,.testimonial-right:after{content:'+';position:absolute;font:12px/1 monospace;color:var(--muted)}.testimonial-left:before{top:-7px;left:-5px}.testimonial-left:after{bottom:-7px;left:-5px}.testimonial-right:before{top:-7px;right:-5px}.testimonial-right:after{bottom:-7px;right:-5px}.testimonial-visual{width:100%;min-height:300px;border-radius:4px;background:var(--surface);display:flex;align-items:center;justify-content:center;overflow:hidden}.testimonial-logo{width:65%;height:auto;max-height:120px;object-fit:contain;filter:grayscale(1) invert(1)}html[data-theme=dark] .testimonial-logo{filter:grayscale(1)}.testimonial-portrait{width:100%;height:100%;max-height:420px;object-fit:cover}.testimonial-initials{font-size:100px;font-weight:500;color:var(--muted)}.testimonial-right{padding:48px 44px;display:flex;flex-direction:column;justify-content:center}.quote-mark{font:120px/.6 Georgia,serif;color:var(--quote-accent);opacity:.22;display:block;margin:10px 0 20px;user-select:none}.quote-text{font-size:clamp(18px,2vw,24px);line-height:1.5;letter-spacing:-.01em;white-space:pre-line;margin:0}.quote-author{margin-top:28px}.quote-name{font-size:15px;font-weight:600;margin:0}.quote-company{font-size:14px;line-height:1.5;color:var(--muted);margin:4px 0 0}.testimonial-controls{display:flex;align-items:center;justify-content:space-between;padding-top:24px}.testimonial-controls>span{font:12px ui-monospace,monospace;color:var(--muted)}.quote-nav{display:flex;gap:10px}.quote-nav button{width:44px;height:44px;border-radius:50%;border:1.5px solid var(--quote-accent);background:transparent;color:var(--quote-accent);cursor:pointer;display:grid;place-items:center;transition:background .2s,color .2s,transform .15s}.quote-nav button:hover{background:var(--quote-accent);color:white;transform:scale(1.06)}.quote-nav button:active{transform:scale(.95)}.quote-nav svg{width:18px;height:18px}.testimonial-slide.arrive-next .testimonial-right{animation:quote-next .45s cubic-bezier(.16,1,.3,1)}.testimonial-slide.arrive-prev .testimonial-right{animation:quote-prev .45s cubic-bezier(.16,1,.3,1)}.testimonial-slide.arrive-next .testimonial-visual,.testimonial-slide.arrive-prev .testimonial-visual{animation:quote-image .5s cubic-bezier(.16,1,.3,1)}@keyframes quote-next{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}@keyframes quote-prev{from{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:none}}@keyframes quote-image{from{opacity:0;transform:scale(1.04)}to{opacity:1;transform:scale(1)}}@media(max-width:768px){.testimonial-section{padding:16px 24px 72px}.testimonial-slide{grid-template-columns:1fr}.testimonial-left{border-right:1px dashed var(--border);border-bottom:0;padding:20px}.testimonial-visual{min-height:180px;height:200px}.testimonial-logo{max-width:210px;max-height:90px}.testimonial-portrait{width:200px;height:200px;border-radius:4px}.testimonial-right{padding:36px 28px}.quote-text{font-size:18px}.quote-mark{font-size:96px}}

/* Dotted rules and registration crosses repeat across structural borders. */
.work-heading .rule{position:relative;background:none;border-top:1px dashed var(--border);height:1px}
.work-heading .rule:before,.work-heading .rule:after{content:'+';position:absolute;top:-7px;color:var(--muted);font:12px/1 monospace}
.work-heading .rule:before{left:0}.work-heading .rule:after{right:0}
.feat-rows{border:0;border-top:1px dashed var(--border);position:relative}.feat-row{border:0;border-bottom:1px dashed var(--border);position:relative}
.feat-row:before,.feat-row:after{content:'+';position:absolute;bottom:-7px;color:var(--muted);font:12px/1 monospace;z-index:1}
.feat-row:before{left:5.35%}.feat-row:after{right:5.35%}
.feat-rows:before,.feat-rows:after{content:'+';position:absolute;top:-7px;color:var(--muted);font:12px/1 monospace;z-index:1}
.feat-rows:before{left:5.35%}.feat-rows:after{right:5.35%}
.pricing-card{position:relative;border-style:dashed;border-radius:0}
.pricing-card:before,.pricing-card:after{content:'+';position:absolute;left:-5px;font:12px/1 monospace;color:var(--muted);pointer-events:none}
.pricing-card:before{top:-7px}.pricing-card:after{bottom:-7px}
.pricing-card.featured{border-color:#777}
.testimonial-wall{max-width:1440px;width:100%;padding-top:16px}
.testimonial-theme{width:100%;height:auto;min-height:180px}
.testimonial-theme-dark{display:none}
html[data-theme=dark] .testimonial-theme-light{display:none}
html[data-theme=dark] .testimonial-theme-dark{display:block}
.testimonial-theme[hidden]{display:none!important}

.pricing-card .pricing-card__name{position:relative}.pricing-card .pricing-card__name:before{content:' +';position:absolute;right:-38px;top:-39px;font:12px/1 monospace;color:var(--muted)}

.pricing-card .pricing-card__name:before{content:none}.pricing-corners{position:absolute;inset:-7px -5px;pointer-events:none}.pricing-corners:before,.pricing-corners:after{content:'+';position:absolute;right:0;color:var(--muted);font:12px/1 monospace}.pricing-corners:before{top:0}.pricing-corners:after{bottom:0}

/* Pale beige separates white work tiles from the light page surface. */
:root{--bg:#f7f5f0}

/* Warm light surfaces with clear white hover states. */
:root{--surface:#e5ded0;--border:#c8bca7;--muted:#706657;--menu-bg:rgba(229,222,208,.88)}
html:not([data-theme=dark]) .feat-row:hover,
html:not([data-theme=dark]) .menu-dropdown a:hover,
html:not([data-theme=dark]) .theme-toggle:hover,
html:not([data-theme=dark]) .site-nav .nav-login:hover,
html:not([data-theme=dark]) .menu-btn:hover,
html:not([data-theme=dark]) .pricing-card:not(.featured):hover,
html:not([data-theme=dark]) .pricing-card__btn:hover{background:#fff;opacity:1}
html:not([data-theme=dark]) .pricing-toggle-pill{background:#fff}
html:not([data-theme=dark]) .pricing-toggle button:hover{background:rgba(255,255,255,.6)}

html:not([data-theme=dark]) .pricing-card.featured .pricing-card__btn:hover{background:#fff;color:#080808}
html:not([data-theme=dark]) .service-hover-preview{background:#fff}

/* A consistent black closing section in either theme. */
.salt-footer{background:#000;color:#f5f5f5;height:auto;min-height:740px}
.footer-cta{position:relative;z-index:10;text-align:center;max-width:850px;margin:0 auto;padding:90px 24px 36px}
.footer-cta h2{font-size:clamp(36px,4.6vw,64px);font-weight:500;line-height:1.08;letter-spacing:-.05em;margin:0 0 30px;text-wrap:balance}
.footer-book{display:inline-flex;align-items:center;justify-content:center;gap:16px;min-height:48px;padding:0 26px;border-radius:100px;background:#fff;color:#080808;font-size:14px;text-decoration:none;transition:transform .2s,background .2s}

.salt-footer-canvas-wrap{position:relative;inset:auto;height:340px;flex:none}
.salt-footer-bar{background:#000;color:#f5f5f5;margin-top:0}
.salt-footer-brand svg{color:#f5f5f5}.salt-footer-brand svg path[fill="#000"]{fill:#000}
.salt-footer-rights,.salt-footer-nav a{color:#aaa}.salt-footer-nav a:hover{color:#fff}.salt-footer a:focus-visible{outline-color:#fff}

html:not([data-theme=dark]) .site-nav.over-dark .theme-toggle:hover,html:not([data-theme=dark]) .site-nav.over-dark .menu-btn:hover{color:#080808}
@media(max-width:800px){.salt-footer{min-height:0}.footer-cta{padding:64px 24px 32px}.salt-footer-canvas-wrap{height:240px}.salt-footer-bar{padding-top:24px}}
/* Equal light pricing cards; the card hover emphasizes its booking button. */
html:not([data-theme=dark]) .pricing-card,
html:not([data-theme=dark]) .pricing-card.featured{background:#fff;color:var(--fg);border-color:var(--border)}
html:not([data-theme=dark]) .pricing-card.featured .pricing-card__desc,
html:not([data-theme=dark]) .pricing-card.featured .pricing-card__yearly,
html:not([data-theme=dark]) .pricing-card.featured .pricing-card__period{color:var(--muted)}
html:not([data-theme=dark]) .pricing-card.featured .pricing-feat{color:var(--fg)}
.pricing-card .pricing-card__btn{height:38px;min-height:38px;font-size:13px;margin-top:24px}
html:not([data-theme=dark]) .pricing-card .pricing-card__btn{background:#fff;color:#080808;border:1px solid var(--border)}
html:not([data-theme=dark]) .pricing-card:hover .pricing-card__btn,
html:not([data-theme=dark]) .pricing-card:focus-within .pricing-card__btn,
html:not([data-theme=dark]) .pricing-card .pricing-card__btn:hover{background:#080808;color:#fff;border-color:#080808}
.pricing-card__btn:after{opacity:0;max-width:0;transform:translateX(-4px)}
.pricing-card__btn:hover:after,.pricing-card__btn:focus-visible:after{opacity:1;max-width:20px;transform:translateX(0)}
.pricing-card__btn:focus-visible{gap:8px}
html:not([data-theme=dark]) .pricing-card.featured .pricing-card__btn:hover{background:#080808;color:#fff;border-color:#080808}
/* Hidden desktop menu must not reserve room beside the theme toggle. */
@media(min-width:801px){.site-nav:not(.scrolled) .menu-btn{display:none}.site-nav.scrolled .menu-btn{display:block}}

/* Two-line desktop description; natural wrapping on smaller screens. */
.hero p.hero-description{width:100%;max-width:880px;line-height:1.35}
@media(min-width:901px){.hero-description span{display:block;white-space:nowrap}}
@media(max-width:900px){.hero p.hero-description{max-width:580px}.hero-description span{display:inline}}

/* Center the complete hero text between the nav bottom and the work divider. */
:root{--hero-work-gap:80px}
.hero{padding-top:calc(56px + var(--hero-work-gap) + 14.5px);padding-bottom:0}
.hero + .work{padding-top:var(--hero-work-gap)}
@media(max-width:800px){:root{--hero-work-gap:48px}}

/* Mixed-format gallery: original proportions, distributed across three columns. */
#gallery.work-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:clamp(12px,1.5vw,24px)}
.work-column{display:grid;gap:clamp(12px,1.5vw,24px);min-width:0}
#gallery .tile{aspect-ratio:var(--clip-ratio);width:100%;break-inside:avoid}
#gallery .tile video{width:100%;height:100%;object-fit:contain}
@media(max-width:600px){
 #gallery.work-gallery{display:block;column-count:2;column-gap:12px}
 #gallery .work-column{display:contents}
 #gallery .tile{display:inline-block;margin:0 0 12px;vertical-align:top}
}

/* Consistent booking button spacing. */
.site-nav .nav-cta,.footer-book{position:relative;gap:0;--cta-pad:18px;padding-left:var(--cta-pad);padding-right:var(--cta-pad);white-space:nowrap}
.footer-book{--cta-pad:26px}



@media(max-width:380px){.site-nav .nav-cta{--cta-pad:12px}}

/* Particle overlay follows the existing character reveal without affecting layout. */
#headline{position:relative}
#headline>span{position:relative}
.hero-particles{position:fixed;inset:0;display:block;pointer-events:none;z-index:99}
/* Keep the salt source sharp and stationary from the first frame. */
.site-nav.intro .wordmark{animation:none;opacity:1;filter:none;transform:none}
@media(prefers-reduced-motion:reduce){.hero-particles{display:none}}

/* Work follows the completed headline and description, including on intro replay. */
@media(prefers-reduced-motion:no-preference){
 #work{animation:work-entrance .85s cubic-bezier(.2,.7,.2,1) var(--work-delay,5.02s) both}
}
@keyframes work-entrance{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}

/* Always finish the entrance with crisp, fully visible type. */
.hero h1.headline-settled .char{animation:none;opacity:1;filter:none;transform:none}

/* Scroll owns tile motion instead of the old timed enter animation. */
#work{overflow:clip}
#gallery.scroll-presentation .tile{animation:none;transition:none;transform-origin:center center}
@media(prefers-reduced-motion:reduce){
 #gallery.scroll-presentation .tile{transform:none!important;opacity:1!important}
}

/* White secondary action beside the booking CTA. */
.site-nav .nav-login{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;height:36px;padding:0 18px;border:1px solid #e6e6e6;border-radius:99px;background:#fff;color:#080808;font-family:inherit;font-size:13px;font-weight:400;line-height:1;white-space:nowrap;text-decoration:none;opacity:1;transition:opacity .3s,transform .15s}
.site-nav .nav-login:not(:disabled){cursor:pointer}
@media(max-width:420px){.site-nav{gap:8px}.site-nav .nav-login{padding:0 10px}}
@media(max-width:380px){.site-nav .nav-login,.site-nav .nav-cta{font-size:12px}.site-nav .nav-cta{--cta-pad:10px}}

/* Equal side columns keep the navigation links at the page's true center. */
@media(min-width:1025px){
 .site-nav{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}
 .site-nav>.wordmark{justify-self:start}
 .site-nav>.nav-links{justify-self:center}
 .site-nav>.nav-right{justify-self:end}
}
@media(max-width:1024px){
 .site-nav .nav-links{display:none}
 .site-nav .menu-btn{opacity:1;pointer-events:auto;visibility:visible}
}

/* Use the footer's Studio Salt vector logo in the navigation. */
.site-nav .wordmark{display:flex;align-items:center;flex-shrink:0;line-height:1}
.site-nav .wordmark svg{display:block;height:24px;width:auto}
.site-nav .wordmark svg path[fill="white"]{fill:currentColor}
.site-nav .wordmark svg path[fill="#000"]{fill:var(--bg)}
.site-nav.over-dark .wordmark svg path[fill="#000"]{fill:#080808}
.site-nav .wordmark .nav-logo-symbol{display:none}
@media(max-width:600px){
 .site-nav .wordmark .nav-logo-full{display:none}
 .site-nav .wordmark .nav-logo-symbol{display:block;width:28px;height:28px}
}

/* Match the toggle's hover motion while retaining each CTA's original colors. */
.site-nav .nav-cta,.footer-book{transition:transform .15s}
.site-nav .nav-cta:hover,.footer-book:hover{transform:scale(1.03) translateY(-2px);opacity:1}

/* Match the login, theme-toggle, and menu-btn outlines — all use --border */
.site-nav .nav-login,.site-nav .theme-toggle,.site-nav .menu-btn,.site-nav.over-dark .theme-toggle,.site-nav.over-dark .menu-btn{border-color:var(--border)}
html[data-theme=dark] .site-nav .nav-login{border-color:rgba(255,255,255,.35);background:transparent;color:#fff}
html[data-theme=dark] .site-nav .nav-login:hover{border-color:rgba(255,255,255,.6)}

/* Stationary client selection: ten logos in the requested order. */
.clients-section{max-width:1240px;padding:24px 5.35% 80px;margin:auto}
.client-logos{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px 36px}
.client-logos li{width:auto;min-width:0;min-height:96px;padding:12px}
.client-logos img{filter:brightness(0);opacity:.8}
html[data-theme=dark] .client-logos img{filter:brightness(0) invert(1);opacity:.88}
@media(max-width:900px){.client-logos{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 24px}}
@media(max-width:600px){.clients-section{padding:24px 24px 64px}.client-logos{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 20px}.client-logos li{min-height:76px;padding:8px}}

/* Subdued footer copyright. */
.salt-footer-rights{color:#4a4a4a}

/* Two footer rows: brand/navigation above location/legal links. */
.salt-footer-bar{display:grid;grid-template-columns:1fr auto 1fr;grid-template-areas:"brand rights nav" "location . legal";align-items:center;gap:18px 28px}
.salt-footer-brand{grid-area:brand;justify-self:start}
.salt-footer-rights{grid-area:rights;justify-self:center}
.salt-footer-nav{grid-area:nav;justify-self:end;justify-content:flex-end}
.salt-footer-location{grid-area:location;margin:0;justify-self:start;font-size:13px;line-height:1.5;color:#4a4a4a}
.salt-footer-legal{grid-area:legal;display:flex;justify-content:flex-end;gap:20px;justify-self:end;font-size:13px;line-height:1.5;color:#4a4a4a;white-space:nowrap}
.salt-footer-legal a{color:inherit;text-decoration:none;transition:color .2s}
.salt-footer-legal a:hover{color:#aaa}
@media(max-width:1000px){
 .salt-footer-bar{grid-template-columns:1fr 1fr;grid-template-areas:"brand nav" "location legal" "rights rights";gap:18px 20px}
}
@media(max-width:600px){
 .salt-footer-bar{grid-template-columns:1fr;grid-template-areas:"brand" "location" "nav" "rights" "legal";gap:16px}
 .salt-footer-brand,.salt-footer-location,.salt-footer-nav,.salt-footer-legal{justify-self:center}
 .salt-footer-nav,.salt-footer-legal{justify-content:center}
}
