body{margin:0;font-family:'Instrument Sans',system-ui,sans-serif;background:#F7F4EE;color:#14201F;-webkit-font-smoothing:antialiased}
html{scroll-behavior:smooth}
a{color:#0F6E66;text-decoration:none}a:hover{color:#0B524C}
h1,h2,h3{font-family:'Fraunces',Georgia,serif;font-weight:500;letter-spacing:-0.025em}
button{font-family:inherit}
@keyframes rise{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
@keyframes wordin{from{opacity:0;transform:translateY(.35em) rotate(-2deg)}to{opacity:1;transform:none}}
@keyframes orbit{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(-40px,30px) scale(1.06)}}
@keyframes orbit2{0%,100%{transform:translate(0,0)}50%{transform:translate(30px,-40px)}}
@keyframes ticker{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes shine{from{transform:translateX(-120%) skewX(-18deg)}to{transform:translateX(220%) skewX(-18deg)}}
@keyframes grow{from{transform:scaleY(.05)}to{transform:scaleY(1)}}
@keyframes fadein{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.rise{animation:rise .9s cubic-bezier(.2,.7,.2,1) both}
.wordin{display:inline-block;animation:wordin .55s cubic-bezier(.2,.7,.2,1) both}
.orb1{animation:orbit 16s ease-in-out infinite}
.orb2{animation:orbit2 20s ease-in-out infinite}
.ticker-track{animation:ticker 34s linear infinite}
.ticker:hover .ticker-track{animation-play-state:paused}
.reveal{opacity:0;transform:translateY(32px);transition:opacity .9s ease,transform .9s cubic-bezier(.2,.7,.2,1)}
.reveal.in{opacity:1;transform:none}
.mark{position:absolute;pointer-events:none}
.btn{position:relative;overflow:hidden;transition:transform .25s cubic-bezier(.2,.7,.2,1),box-shadow .25s}
.btn:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(20,32,31,.18)}
.btn::after{content:"";position:absolute;top:0;left:0;width:40%;height:100%;background:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,.35),rgba(255,255,255,0));transform:translateX(-120%) skewX(-18deg);pointer-events:none}
.btn:hover::after{animation:shine .8s ease}
.side{transition:background-color .2s,color .2s}
.side:hover{background:#ECEBE7}
.ws{animation:fadein .35s cubic-bezier(.2,.7,.2,1) both}
.bar{transform-origin:bottom;animation:grow .7s cubic-bezier(.2,.7,.2,1) both}
.sc{transition:border-color .2s,box-shadow .2s}
.sc:hover{border-color:#B9C9C6;box-shadow:0 4px 12px rgba(20,32,31,.06)}
.svc{transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s}
.svc:hover{transform:translateY(-6px);box-shadow:0 22px 44px rgba(20,32,31,.14)}
.tile{transition:transform .35s cubic-bezier(.2,.7,.2,1),background-color .35s,color .35s,border-color .35s}
.tile:hover{transform:translateY(-6px);background:#14201F;color:#F7F4EE;border-color:#14201F}
.tile:hover svg{stroke:#8FCBC4}
.tile:hover .hint{color:#8FCBC4}
.row{transition:background-color .35s}
.row:hover{background:#FFFFFF}
.row .row-icon{transition:transform .45s cubic-bezier(.2,.7,.2,1),background-color .35s}
.row:hover .row-icon{transform:rotate(-8deg) scale(1.1);background:#0F6E66}
.row:hover .row-icon svg{stroke:#FFFFFF}
a:focus-visible,button:focus-visible{outline:3px solid #14201F;outline-offset:3px}
@media (prefers-reduced-motion:reduce){.rise,.wordin,.orb1,.orb2,.ticker-track,.ws,.bar{animation:none}.reveal{opacity:1;transform:none}html{scroll-behavior:auto}}
html{-webkit-text-size-adjust:100%}
