body{margin:0;background:#F4F1EA}
a{color:#0D6A64}a:hover{color:#084C49}
.m-nav a{color:#1F2E2C;text-decoration:none;padding:8px 14px;border-radius:2px}
.m-nav a:hover{background:#EEF3F2;color:#084C49}
.m-pill-dark:hover{background:#0D6A64;color:#FFFFFF}
.m-pill-gold:hover{background:#C9B78F;color:#063B39}
.m-pill-ghost:hover{background:rgba(255,255,255,.14);color:#FFFFFF}
.m-lift{transition:transform .25s ease, box-shadow .25s ease}
.m-lift:hover{transform:translateY(-6px);box-shadow:0 24px 48px -16px rgba(8,76,73,.28)}
.m-in:focus{outline:2px solid #0D6A64;outline-offset:2px}
.m-foot a{color:#BFD3CF;text-decoration:none}
.m-foot a:hover{color:#FFFFFF}
/* ===== Animation ===== */
@keyframes aUp{from{opacity:0;translate:0 28px}to{opacity:1;translate:0 0}}
@keyframes aKb{from{scale:1.12}to{scale:1}}
@keyframes aDraw{to{stroke-dashoffset:0}}
@keyframes aShine{0%{left:-60%}55%,100%{left:130%}}
@keyframes aMarq{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes aDash{to{background-position:28px 0}}
@keyframes aFloatIn{from{opacity:0;translate:40px 0}to{opacity:1;translate:0 0}}
@keyframes aRv{from{opacity:0;translate:0 48px;scale:.97}to{opacity:1;translate:0 0;scale:1}}
@keyframes aLine{from{scale:0 1}to{scale:1 1}}
.a-up{animation:aUp .9s cubic-bezier(.2,.7,.2,1) both}
.d1{animation-delay:.1s}.d2{animation-delay:.25s}.d3{animation-delay:.4s}.d4{animation-delay:.55s}.d5{animation-delay:.75s}
.a-kb{animation:aKb 14s ease-out both}
.a-draw polygon{stroke-dasharray:1;stroke-dashoffset:1;animation:aDraw 2.6s .3s cubic-bezier(.6,.1,.2,1) forwards}
.a-draw polygon:nth-child(2){animation-delay:.7s}.a-draw polygon:nth-child(3){animation-delay:1.1s}
.a-shine{position:relative;overflow:hidden}
.a-shine::after{content:"";position:absolute;top:0;bottom:0;left:-60%;width:40%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent);transform:skewX(-20deg);animation:aShine 3.8s 1.6s ease-in-out infinite}
.a-marq{display:flex;width:max-content;animation:aMarq 36s linear infinite}
.a-marq-wrap:hover .a-marq{animation-play-state:paused}
.a-logo{filter:grayscale(1);opacity:.7;transition:filter .3s,opacity .3s}
.a-logo:hover{filter:none;opacity:1}
.a-dash{animation:aDash 1.2s linear infinite}
.m-float>*{animation:aFloatIn .7s cubic-bezier(.2,.7,.2,1) both}
.m-float>*:nth-child(1){animation-delay:1.3s}.m-float>*:nth-child(2){animation-delay:1.5s}
.a-ul{position:relative}
.a-ul::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:2px;background:#B8A47A;transform-origin:left;animation:aLine 1s 1.2s cubic-bezier(.6,.1,.2,1) both}
.m-person img,.a-zoom img{transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.m-person:hover img{transform:scale(1.03)}
@property --n{syntax:'<integer>';initial-value:0;inherits:false}
@keyframes aCount{from{--n:0}to{--n:var(--to)}}
/* reveal (JS IntersectionObserver) */
@keyframes aMask{from{clip-path:inset(0 0 100% 0);translate:0 40px}to{clip-path:inset(-10% -5% -25% -5%);translate:0 0}}
.a-mask{animation:aMask 1.2s cubic-bezier(.2,.7,.2,1) both}
@keyframes aSweep{from{background-position:130% 0}to{background-position:-30% 0}}
.a-sweep{animation:aSweep 7s ease-in-out infinite}
.js-anim .a-reveal{opacity:0;translate:0 48px;transition:opacity 1s cubic-bezier(.2,.7,.2,1),translate 1s cubic-bezier(.2,.7,.2,1),transform .25s ease,box-shadow .25s ease}
.js-anim .a-reveal[data-in]{opacity:1;translate:0 0}
.js-anim .a-reveal:nth-child(2){transition-delay:.12s,.12s,0s,0s}
.js-anim .a-reveal:nth-child(3){transition-delay:.24s,.24s,0s,0s}
.js-anim .a-reveal:nth-child(4){transition-delay:.36s,.36s,0s,0s}
.js-anim .a-reveal:nth-child(5){transition-delay:.48s,.48s,0s,0s}
.js-anim .a-reveal:nth-child(6){transition-delay:.6s,.6s,0s,0s}
.js-anim .a-wipe{clip-path:inset(0 0 100% 0);transition:clip-path 1.3s cubic-bezier(.7,0,.2,1) .2s,transform .6s cubic-bezier(.2,.7,.2,1)}
.js-anim [data-in] .a-wipe{clip-path:inset(0 0 0 0)}
.a-count{--n:var(--to)}
.js-anim .a-count .a-num{display:none}
.js-anim .a-count{counter-reset:n var(--n)}
.js-anim .a-count::after{content:counter(n)}
.js-anim .a-count[data-in]{animation:aCount 2.2s cubic-bezier(.2,.7,.2,1) both}

@media (prefers-reduced-motion: reduce){
*,*::before,*::after{animation:none!important;transition:none!important}
.a-draw polygon{stroke-dashoffset:0}
.js-anim .a-reveal{opacity:1!important;translate:none!important}.js-anim .a-wipe{clip-path:none!important}.js-anim .a-count .a-num{display:inline}.js-anim .a-count::after{content:none}
}
.m-fb{transition:transform .2s ease,filter .2s ease}.m-fb:hover{transform:translateX(-2px);filter:brightness(1.08)}
.m-tip{position:absolute;right:calc(100% + 14px);top:50%;translate:6px -50%;opacity:0;pointer-events:none;white-space:nowrap;background:#063B39;color:#FFFFFF;font-size:13px;font-weight:600;padding:8px 12px;border-radius:2px;transition:opacity .2s ease,translate .2s ease}
.m-tip::after{content:"";position:absolute;left:100%;top:50%;translate:0 -50%;border:6px solid transparent;border-left-color:#063B39}
.m-fb:hover .m-tip,.m-fb:focus-visible .m-tip{opacity:1;translate:0 -50%}
@keyframes mPulse{0%{box-shadow:0 0 0 0 rgba(13,106,100,.55)}70%{box-shadow:0 0 0 14px rgba(13,106,100,0)}100%{box-shadow:0 0 0 0 rgba(13,106,100,0)}}
.m-pulse{animation:mPulse 2s infinite}
@media (max-width:640px){.a-draw{opacity:.22!important;width:240px!important;right:-60px!important;top:120px!important;translate:none!important}.m-badge{letter-spacing:.08em!important;font-size:11px!important;padding:8px 12px!important}.m-herobox{padding:40px 22px 24px!important;gap:36px!important}.m-stat{padding:20px 16px!important}.m-stat .a-count{font-size:44px!important}.m-tip{display:none}}
@media (max-width:900px){.m-proc{padding:32px 24px!important;gap:32px!important}.m-steps{gap:0!important;grid-template-columns:minmax(0,1fr)!important;max-width:560px}.m-step{display:grid!important;grid-template-columns:44px minmax(0,1fr);column-gap:16px;row-gap:4px!important;position:relative;padding-bottom:26px}.m-step:last-child{padding-bottom:0}.m-step>div{grid-row:1/span 2;align-self:start}.m-step>div>span:first-child{width:44px!important;height:44px!important;font-size:14px}.m-step .a-dash{display:none}.m-step>h3{font-size:17px!important;line-height:1.35;padding-top:10px}.m-step>p{font-size:15px!important;line-height:1.6!important}.m-step:not(:last-child)::before{content:"";position:absolute;left:21px;top:52px;bottom:6px;width:2px;background:repeating-linear-gradient(180deg,#C9D9D6 0 6px,transparent 6px 11px)}}
.m-fgrid{grid-template-columns:1.3fr .8fr 1fr 1.6fr}@media (max-width:1000px){.m-fgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.m-fgrid{gap:36px 20px!important}.m-fspan{grid-column:1/-1}.m-ftop{padding-bottom:28px!important}.m-fnum{font-size:24px!important}.m-fbtns{width:100%}.m-fbtns>a{flex:1;justify-content:center}}
body{font-variant-numeric:lining-nums}
/* ===== performance ===== */
@keyframes aShine2{from{transform:translateX(-160%) skewX(-20deg)}55%,to{transform:translateX(420%) skewX(-20deg)}}
.a-shine::after{left:0!important;animation:aShine2 3.8s 1.6s ease-in-out infinite!important;will-change:transform}
.a-sweep{animation:none!important;background-image:none!important;overflow:hidden}
.a-sweep::before{content:"";position:absolute;top:0;bottom:0;left:0;width:40%;background:linear-gradient(115deg,transparent,rgba(184,164,122,.16),transparent);animation:aSweep2 7s ease-in-out infinite;will-change:transform}
@keyframes aSweep2{from{transform:translateX(-120%)}to{transform:translateX(320%)}}
.a-dash{animation:none!important}
.m-pulse{animation:none!important;isolation:isolate}
.m-pulse::before{content:"";position:absolute;inset:0;border-radius:4px;background:rgba(13,106,100,.5);z-index:-1;animation:mPulse2 2s ease-out infinite;will-change:transform,opacity}
@keyframes mPulse2{from{transform:scale(1);opacity:.7}to{transform:scale(1.55);opacity:0}}
.a-marq{will-change:transform}
section+section{content-visibility:auto;contain-intrinsic-size:auto 900px}
@media (max-width:640px){
.a-kb,.a-draw polygon,.a-sweep::before,.a-shine::after{animation:none!important}
.a-draw polygon{stroke-dashoffset:0}
.a-sweep::before,.a-shine::after{display:none}
.m-lift:hover{transform:none}
.a-marq{animation-duration:48s}
.js-anim .a-reveal{translate:0 24px;transition-duration:.6s,.6s,.25s,.25s}
}
.m-hero h1{max-width:960px}.m-herobox>p{max-width:640px}
.admin-bar .m-header{top:32px}@media (max-width:782px){.admin-bar .m-header{top:46px}}@media (max-width:600px){.admin-bar .m-header{top:0}}
.m-clients{grid-template-columns:repeat(3,minmax(0,1fr))}
.m-fbtn{transition:transform .2s ease}.m-fbtn:hover{transform:translateY(-2px)}
@keyframes mring{0%{box-shadow:0 0 0 0 rgba(184,164,122,.75)}70%{box-shadow:0 0 0 12px rgba(184,164,122,0)}100%{box-shadow:0 0 0 0 rgba(184,164,122,0)}}
.m-ring{animation:mring 1.8s infinite}
@media (max-width:900px){.m-pgrid{gap:12px!important}}
@media (max-width:640px){.m-pgrid{grid-template-columns:1fr!important;gap:10px!important}.m-person{flex-direction:row!important;align-items:center!important;gap:16px!important;padding:10px!important}.m-pimg{width:92px!important;flex:none!important}.m-ptext{padding:0!important}}
@media (max-width:960px){.m-desk{display:none!important}.m-mob{display:inline-flex!important}}
@media (max-width:900px){.m-clients{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){
.m-sec{padding-top:64px!important;padding-bottom:64px!important}
.m-secb{padding-bottom:64px!important}
.m-hero{min-height:0!important;border-radius:0!important}
.m-logo{height:46px!important}
.m-ctile{padding:12px!important;gap:12px!important;border-radius:4px!important}
.m-clogo{height:84px!important;padding:10px!important;border-radius:2px!important}
.m-cname{font-size:16px!important}
.m-csec{font-size:13px!important;line-height:1.45}
.m-team{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}
.m-tname{font-size:14px!important}
.m-trole{font-size:12px!important}
.m-form{padding:22px!important}
.m-mail{font-size:16px!important}
.m-float{display:none!important}
.m-bar{display:flex!important}
.m-footpad{padding-bottom:104px!important}
}

/* ===== WordPress additions ===== */
html{scroll-behavior:smooth}
body{margin:0;background:#F4F1EA;color:#15201E;font-family:'Be Vietnam Pro',system-ui,sans-serif;-webkit-font-smoothing:antialiased}
img{max-width:100%}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.tkm-mnav[hidden]{display:none!important}
.m-nav a.is-active,.tkm-mnav a.is-active{color:#084C49;font-weight:700}
.tkm-notice{margin:0;padding:12px 14px;border-radius:2px;font-size:14px;line-height:1.5}
.tkm-notice.is-ok{background:#E4EEEC;color:#084C49}.tkm-notice.is-err{background:#F6E3DF;color:#8A2C1D}
.tkm-pager{display:flex;justify-content:center;flex-wrap:wrap;gap:8px}
.tkm-pager a,.tkm-pager span{min-width:44px;height:44px;padding:0 14px;box-sizing:border-box;border-radius:2px;background:#FFFFFF;color:#34433F;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;font-weight:600}
.tkm-pager .current{background:#084C49;color:#FFFFFF}
.tkm-cats{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px}
.tkm-cats a{flex:none;display:inline-flex;align-items:center;min-height:44px;padding:0 18px;border-radius:2px;text-decoration:none;font-size:14px;font-weight:600;background:#FFFFFF;color:#34433F;border:1px solid #E2DED4}
.tkm-cats a.is-active{background:#084C49;color:#FFFFFF;border-color:#084C49}
.tkm-content{font-size:18px;line-height:1.8;color:#2A3836}
.tkm-content>*{margin:0 0 20px}
.tkm-content h2{font-family:'Playfair Display',Georgia,serif;font-size:28px;font-weight:600;line-height:1.3;color:#15201E;margin:40px 0 14px;scroll-margin-top:24px}
.tkm-content h3{font-size:21px;font-weight:600;line-height:1.4;color:#15201E;margin:28px 0 10px}
.tkm-content a{color:#0D6A64;text-decoration:underline;text-underline-offset:3px}
.tkm-content ul,.tkm-content ol{padding-left:24px}
.tkm-content li{margin:6px 0}
.tkm-content blockquote{margin:28px 0;padding:22px 26px;background:#E4EEEC;border-left:3px solid #084C49;border-radius:2px;font-size:17px}
.tkm-content img{height:auto;border-radius:4px}
.tkm-content table{width:100%;border-collapse:collapse;font-size:16px}
.tkm-content th,.tkm-content td{border:1px solid #E2DCCB;padding:10px 12px;text-align:left}
.tkm-toc-link{display:block;padding:10px 12px;border-radius:2px;color:#15201E;text-decoration:none;font-size:15px;line-height:1.45}
.tkm-toc-link:hover{background:#F4F1EA;color:#084C49}
@media (max-width:640px){.tkm-content{font-size:17px}.tkm-content h2{font-size:24px}}
