/* Site styles — resets, keyframes and the .om-* utility classes.
   Element-level styling stays inline in the template so the page paints
   while it streams; only shared rules live here. */

html { scroll-behavior:auto; }
html, body { margin:0; padding:0; background:#ffffff; }
html { overflow-x:hidden; }
body { overflow-x:clip; overflow-y:auto; -webkit-overflow-scrolling:touch; touch-action:pan-y; overscroll-behavior-y:none; }
body { font-family:'Manrope','Manrope Placeholder',-apple-system,Helvetica,Arial,sans-serif; -webkit-font-smoothing:antialiased; color:#171717; }
a, a:link, a:visited, a:active, a:any-link, a:-webkit-any-link { color:inherit; text-decoration:none; -webkit-text-fill-color:currentColor; -webkit-tap-highlight-color:transparent; }
a h1, a h2, a h3, a h4, a h5, a h6, a p, a strong, a em, a small, a li, a time { color:inherit; -webkit-text-fill-color:inherit; }
a:hover, a:any-link:hover { color:#F9452D; }
/* iOS renders borderless buttons in the system accent blue unless told otherwise */
button { color:#171717; -webkit-text-fill-color:currentColor; }
.om-jrow, .om-jrow:any-link, .om-jrow span { color:#171717; }
.om-jrow:hover, .om-jrow:hover span { color:#F9452D; }
* { box-sizing:border-box; }
input, button { font-family:inherit; }
input::placeholder { color:#a3a09c; }
.om-sheet-fs:not([style*="pointer-events: auto"]) { opacity: 0; pointer-events: none; }
a, button, input, textarea, select, [role="button"], .om-card, .om-more-btn { -webkit-tap-highlight-color: transparent; -webkit-touch-callout: none; }
a:focus, button:focus { outline: none; }
a:focus-visible, button:focus-visible { outline: 2px solid rgba(249,69,45,.55); outline-offset: 3px; }
.om-marquee:hover { animation-play-state: paused !important; }
@keyframes om-story { from { transform:scaleX(0); } to { transform:scaleX(1); } }
/* Copy lives only in content.json — these show a quiet placeholder until it lands. */
[data-cfg]:empty::after { content:"\2026"; color:currentColor; opacity:.18; }
.om-pm { position:relative; width:14px; height:14px; flex:none; }
.om-pm i { position:absolute; left:0; top:50%; width:14px; height:1.8px; border-radius:2px; background:currentColor; transform:translateY(-50%); transition:transform .45s cubic-bezier(.32,.72,0,1), opacity .3s ease; }
.om-pm i:last-child { transform:translateY(-50%) rotate(90deg); }
.om-pm.om-pm-open i { transform:translateY(-50%) rotate(180deg); }
.om-pm.om-pm-open i:last-child { transform:translateY(-50%) rotate(180deg); opacity:0; }
.om-year { color:#171717 !important; -webkit-text-fill-color:#171717; }
.om-boot { position:fixed; inset:0; z-index:9999; background:#fff; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:26px; transition:opacity .5s ease, visibility .5s ease; }
.om-boot-done { opacity:0; visibility:hidden; pointer-events:none; }
.om-boot-mark { width:58px; height:58px; border-radius:50%; overflow:hidden; flex:none; animation:bootPulse 1.7s cubic-bezier(.4,0,.2,1) infinite; }
@keyframes bootPulse { 0%,100% { transform:scale(1); box-shadow:0 0 0 0 rgba(249,69,45,.34) } 50% { transform:scale(.94); box-shadow:0 0 0 16px rgba(249,69,45,0) } }
.om-boot-msg { font-size:13.5px; font-weight:500; letter-spacing:-.01em; color:rgba(23,23,23,.5); min-height:19px; transition:opacity .3s ease; }
.om-boot-rail { width:132px; height:3px; border-radius:3px; background:#EFEFEF; overflow:hidden; }
.om-boot-fill { height:100%; width:8%; border-radius:3px; background:#F9452D; transition:width .5s cubic-bezier(.22,1,.36,1); }
@media (prefers-reduced-motion:reduce) { .om-boot-mark { animation:none } }
.om-zoom { transform:scale(1.16); transition:transform 1.4s cubic-bezier(.22,1,.36,1); }
.om-zoom.om-zoom-in { transform:scale(1); }
.om-card:hover .om-card-img.om-zoom-in { transform:scale(1.07); }
.om-cta-img { transform:scale(1.22); transition:transform 1.6s cubic-bezier(.22,1,.36,1); }
.om-in .om-cta-img, .om-cta-shown { transform:scale(1); }
.om-jrow img { transition:transform .6s cubic-bezier(.22,1,.36,1); }
.om-jrow:hover img { transform:scale(1.12); }
.om-card-logo { overflow:hidden; }
.om-card-logo > * { transition:transform .6s cubic-bezier(.22,1,.36,1); }
.om-card:hover .om-card-logo > * { transform:scale(1.12); }
.om-credit-a, .om-credit-b { transition: transform .46s cubic-bezier(.32,.72,0,1); }
.om-credit-b { transform: translateY(100%); }
.om-credit:hover .om-credit-a { transform: translateY(-100%); }
.om-credit:hover .om-credit-b { transform: translateY(0); }
.om-aboutlink { position:relative; opacity:.78; transition:opacity .3s ease; }
.om-aboutlink:hover { opacity:1; }
.om-aboutlink span { box-shadow:inset 0 -1px 0 currentColor; }
.om-more { display:flex; flex-direction:column; align-items:center; gap:5px; }
.om-more-btn { display:flex; flex-direction:column; align-items:center; gap:3px; border:0; background:none; padding:2px 4px; font-family:inherit; font-size:12px; font-weight:400; letter-spacing:.24em; text-transform:uppercase; color:rgba(23,23,23,.5); cursor:pointer; transition:color .35s ease; }
.om-more-btn:hover { color:rgba(23,23,23,.78); }
.om-more-chev { transition:transform .5s cubic-bezier(.22,1,.36,1); animation:chevNudge 2.2s ease-in-out infinite; }
.om-more-btn:hover .om-more-chev { animation:none; transform:translateY(4px); }
@keyframes chevNudge { 0%,100% { transform:translateY(0) } 50% { transform:translateY(3px) } }
.om-more-dots { display:flex; gap:5px; height:8px; align-items:center; }
.om-more-dots i { width:4px; height:4px; border-radius:50%; background:rgba(23,23,23,.34); animation:dotPulse 1.05s ease-in-out infinite; }
.om-more-dots i:nth-child(2) { animation-delay:.16s; }
.om-more-dots i:nth-child(3) { animation-delay:.32s; }
@keyframes dotPulse { 0%,100% { opacity:.18; transform:translateY(0) } 45% { opacity:1; transform:translateY(-2px) } }
@keyframes marquee { from { transform:translateX(0); } to { transform:translateX(-50%); } }
@keyframes heroFlyIn {
  0%   { opacity:0; transform:perspective(1400px) rotateX(-16deg) rotateY(-12deg) rotate(-4deg) translateY(-140px) scale(.9); filter:blur(8px); }
  60%  { opacity:1; filter:blur(0); }
  100% { opacity:1; transform:perspective(1400px) rotateX(0) rotateY(0) rotate(0) translateY(0) scale(1); filter:blur(0); }
}
@keyframes pulseRing {
  0%   { box-shadow:0 0 0 0 rgba(158,243,74,.5), 0 0 0 0 rgba(158,243,74,.3); }
  70%  { box-shadow:0 0 0 6px rgba(158,243,74,0), 0 0 0 11px rgba(158,243,74,0); }
  100% { box-shadow:0 0 0 0 rgba(158,243,74,0), 0 0 0 0 rgba(158,243,74,0); }
}
.om-pulse { animation:pulseRing 2.2s cubic-bezier(.4,0,.2,1) infinite; }
.om-hero { animation:heroFlyIn 1.35s cubic-bezier(.19,1,.22,1) both; transform-origin:50% 0%; }
.om-card-img { transition: transform .7s cubic-bezier(.22,1,.36,1); }
@media (max-width: 609px) { .om-card-img { height:280px !important; } }
.om-card:hover .om-card-img { transform: scale(1.07); }
.om-arrow, .om-arrow-d { transition: transform .4s cubic-bezier(.22,1,.36,1); }
.om-card:hover .om-arrow { transform: rotate(45deg); }
.om-card-bar { left:14px; right:14px; bottom:14px; transition: left .45s cubic-bezier(.22,1,.36,1), right .45s cubic-bezier(.22,1,.36,1), bottom .45s cubic-bezier(.22,1,.36,1); }
.om-btn:hover .om-arrow-d { transform: rotate(45deg); }
.om-back .om-back-circle { transition: background .25s ease, border-color .25s ease, transform .3s cubic-bezier(.22,1,.36,1); }
.om-back:hover .om-back-circle { background:#F9452D !important; border-color:#F9452D !important; color:#fff !important; }
.om-back:hover .om-back-arrow { transform: translateX(-2px); }
.om-back-arrow { transition: transform .3s cubic-bezier(.22,1,.36,1); }
.om-dock { transition: transform .45s cubic-bezier(.22,1,.36,1), opacity .3s ease; background:rgba(38,36,33,.72) !important; backdrop-filter:blur(18px) saturate(160%) !important; -webkit-backdrop-filter:blur(18px) saturate(160%) !important; }
.om-dock.om-dock-hidden { transform: translateX(-50%) translateY(140%) !important; opacity: 0; pointer-events: none; }
@media (max-width: 609px) {
  .om-dock { bottom: auto !important; top: 14px !important; }
  .om-page { padding-bottom: 24px !important; }
  .om-strap-band { height: 220px !important; margin-top: -128px !important; }
  .om-hero-pad { padding-top: 118px !important; }
  .om-strap { top: 0 !important; }
  .om-located { flex-direction: column !important; align-items: center !important; justify-content: center !important; gap: 8px !important; text-align: center; padding-left: 14px !important; padding-right: 14px !important; }
  .om-located > div { font-size: 12px !important; }
  .om-located > a { font-size: 12.5px !important; }
  .om-dock.om-dock-hidden { transform: translateX(-50%) translateY(-160%) !important; }
}
html { scrollbar-gutter: stable; scrollbar-width: thin; scrollbar-color: transparent transparent; transition: scrollbar-color .45s ease; }
html.om-sb-show { scrollbar-color: rgba(23,23,23,.22) transparent; }
::-webkit-scrollbar { width: 8px; height: 8px; background: transparent; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background-color: transparent; border-radius: 100px; border: 2px solid transparent; background-clip: content-box; transition: background-color .45s cubic-bezier(.22,1,.36,1); }
html.om-sb-show ::-webkit-scrollbar-thumb { background-color: rgba(23,23,23,.22); }
html.om-sb-show ::-webkit-scrollbar-thumb:hover { background-color: rgba(23,23,23,.34); }
.om-reveal { opacity:0; transform:translateY(30px); }
.om-reveal-on { transition:opacity .8s cubic-bezier(.22,1,.36,1), transform .8s cubic-bezier(.22,1,.36,1); }
.om-reveal-on.om-in { opacity:1; transform:translateY(0); }
@media (prefers-reduced-motion:reduce) {
  .om-zoom, .om-cta-img { transform:none !important; transition:none !important; }
  .om-reveal, .om-reveal-on { opacity:1 !important; transform:none !important; transition:none !important; }
}
@media (max-width: 609px) {
  .om-hero-top { flex-direction: column-reverse !important; align-items: flex-start !important; gap: 18px !important; }
  .om-avail { align-items: center !important; gap: 8px !important; }
  .om-avail .om-pulse { margin-top: 0 !important; }
  .om-avail-txt { flex-direction: row !important; align-items: baseline !important; gap: 8px !important; }
  .om-hand { display: none !important; }
  .om-post-title { font-size: 14px !important; line-height: 1.3 !important; }
  .om-post-date { font-size: 12.5px !important; }
}

/* Contact success — the ring scales in, then the tick draws itself. */
.om-tick { animation: tickPop .5s cubic-bezier(.22,1,.36,1) both; }
@keyframes tickPop {
  0%   { transform: scale(.4); opacity: 0 }
  60%  { transform: scale(1.06); opacity: 1 }
  100% { transform: scale(1); opacity: 1 }
}
.om-tick-path {
  stroke-dasharray: 26;
  stroke-dashoffset: 26;
  animation: tickDraw .42s cubic-bezier(.65,0,.35,1) .26s both;
}
@keyframes tickDraw { to { stroke-dashoffset: 0 } }
@media (prefers-reduced-motion: reduce) {
  .om-tick, .om-tick-path { animation: none; stroke-dashoffset: 0 }
}
