:root{--ink:#102b28;--forest:#123d35;--mint:#b9e0d1;--cream:#f3efe3;--paper:#fbfaf5;--rust:#c85b36;--line:#d7d9cf}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}.shell{width:min(1160px,calc(100% - 40px));margin:auto}.nav{height:84px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;font-weight:800}.brand span{display:grid;place-items:center;width:38px;height:38px;background:var(--forest);color:var(--cream);border-radius:50%;font-size:13px}.navlinks{display:flex;gap:30px;font-size:14px;font-weight:700}.navlinks a:hover{color:var(--rust)}.hero{display:grid;grid-template-columns:1.5fr .7fr;gap:90px;align-items:end;padding:110px 0 100px}.eyebrow,.section-kicker{font-size:12px;letter-spacing:.18em;font-weight:800;color:var(--rust);margin:0 0 22px}.hero h1{font-family:Georgia,serif;font-size:clamp(52px,7vw,92px);line-height:.96;letter-spacing:-.045em;margin:0;max-width:850px}.lede{font-size:20px;line-height:1.6;color:#49605c;max-width:720px;margin:32px 0}.actions{display:flex;gap:12px;flex-wrap:wrap}.button{padding:16px 22px;font-weight:800;font-size:14px;border:1px solid var(--forest);transition:.2s}.button:hover{transform:translateY(-2px)}.primary{background:var(--forest);color:#fff}.secondary{background:transparent}.signal{background:var(--mint);padding:30px}.signal-label{font-size:11px;letter-spacing:.16em;font-weight:800;margin:0 0 25px}.signal div{border-top:1px solid #7cae9b;padding:18px 0;display:flex;align-items:baseline;gap:15px}.signal strong{font-family:Georgia,serif;font-size:40px}.signal span{font-size:13px;font-weight:700}.signal-note{font-size:12px;margin:18px 0 0;color:#45655d}.proof{padding:75px 0;border-top:1px solid var(--line)}h2{font-family:Georgia,serif;font-size:clamp(36px,5vw,60px);line-height:1.05;letter-spacing:-.03em;margin:0}.profile-grid{display:grid;grid-template-columns:repeat(var(--proof-cols,4),minmax(0,1fr));gap:16px;margin-top:45px;border:0}.platform-logo{width:42px;height:42px;margin-bottom:18px}.capabilities{padding:110px 0;display:grid;grid-template-columns:.8fr 1.2fr;gap:80px}.cap-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}.cap-grid article{padding:28px 28px 35px 0;border-bottom:1px solid var(--line)}.cap-grid article:nth-child(odd){border-right:1px solid var(--line)}.cap-grid article:nth-child(even){padding-left:28px}.cap-grid span{color:var(--rust);font-size:12px;font-weight:800}.cap-grid h3{font-size:20px;margin:25px 0 12px}.cap-grid p,.section-intro>p:last-child,.about-copy p{color:#596966;line-height:1.65}.work{background:var(--forest);color:var(--cream);padding:110px 0}.light{display:grid;grid-template-columns:1fr 1.2fr .8fr;align-items:end;gap:50px}.light .section-kicker{color:#ef906f}.light p:last-child{color:#b8c9c4}.work-list{margin-top:65px;border-top:1px solid #55766e}.work-list a{display:grid;grid-template-columns:70px 1fr 30px;gap:20px;padding:30px 0;border-bottom:1px solid #55766e;align-items:center}.work-list a:hover h3{color:#ef906f}.work-num{font-size:12px;color:#92aaa4}.work-list small{text-transform:uppercase;letter-spacing:.13em;color:#92aaa4}.work-list h3{font-family:Georgia,serif;font-size:30px;margin:6px 0}.work-list p{color:#b8c9c4;margin:0;max-width:720px;line-height:1.5}.about{padding:120px 0;display:grid;grid-template-columns:1fr 1fr;gap:90px}.about-copy{font-size:18px}.company-links{display:flex;gap:25px;margin-top:30px;font-weight:800;color:var(--rust)}.cta{background:var(--rust);color:#fff;padding:100px 0}.cta .shell{max-width:1000px;text-align:center}.cta .section-kicker{color:#37170e}.cta h2{font-size:clamp(42px,6vw,72px)}.cta p{font-size:18px;line-height:1.6}.contact-lines{display:flex;justify-content:center;gap:24px;flex-wrap:wrap;margin:25px 0 0;font-size:17px;font-weight:800}.contact-lines a{text-decoration:underline;text-underline-offset:4px}.cta .actions{justify-content:center;margin-top:35px}.cream{background:var(--cream);color:var(--ink);border-color:var(--cream)}.outline{border-color:#fff}.cta .outline{color:#fff}footer{display:flex;justify-content:space-between;padding:32px 0;color:#6a7673;font-size:12px}footer a:hover{color:var(--rust)}
@media(max-width:850px){.navlinks{display:none}.hero,.capabilities,.about{grid-template-columns:1fr;gap:50px}.hero{padding:75px 0}.signal{max-width:500px}.profile-grid{grid-template-columns:1fr 1fr}.light{grid-template-columns:1fr}.cap-grid{grid-template-columns:1fr}.cap-grid article:nth-child(odd){border-right:0}.cap-grid article:nth-child(even){padding-left:0}footer{gap:20px;flex-direction:column}}@media(max-width:520px){.shell{width:min(100% - 28px,1160px)}.hero h1{font-size:49px}.profile-grid{grid-template-columns:1fr}.work-list a{grid-template-columns:38px 1fr 20px}.work-list p{font-size:14px}.contact-lines{flex-direction:column;gap:12px}}

/* Conversion-focused additions; retain the original forest, cream and rust theme. */
[id]{scroll-margin-top:24px}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--ink);outline-offset:4px}
.work a:focus-visible,.cta a:focus-visible{outline-color:var(--cream)}
.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;line-height:1.45;cursor:pointer;font-family:inherit;text-align:center}
.button:disabled{cursor:not-allowed;opacity:.55;transform:none}
.button-icon{width:24px;height:24px;object-fit:contain}
/* Hero balance: signal panel sits top-right beside the headline (not bottom-aligned empty space) */
.hero{
  align-items:start;
  gap:clamp(36px,6vw,64px);
  padding:88px 0 92px;
}
.hero-copy{min-width:0}
.hero h1{
  max-width:11.5ch;
  font-size:clamp(44px,5.6vw,76px);
}
.hero .lede{max-width:38rem;margin:28px 0 0}
.hero-note{font-size:14px;line-height:1.6;color:#49605c;margin:18px 0 0}
.hero-note a,.enquiry-intro a,.enquiry-form a{text-decoration:underline;text-underline-offset:4px;font-weight:700}
.hero-offer{
  max-width:38rem;
  margin:22px 0 0;
  padding:14px 16px;
  border-left:3px solid var(--rust);
  background:rgba(185,224,209,.28);
  color:#2f4a45;
  font-size:15px;
  line-height:1.55;
  font-weight:600;
}
.hero .actions{margin-top:28px}
.signal{
  margin-top:6px;
  position:sticky;
  top:24px;
  align-self:start;
  width:100%;
}
.privacy-consent{margin:8px 0 4px;max-width:42rem}
.privacy-consent__label{
  display:flex;
  gap:10px;
  align-items:flex-start;
  justify-content:flex-start;
  font-size:14px;
  line-height:1.5;
  color:#49605c;
  font-weight:600;
  cursor:pointer;
  width:100%;
}
.privacy-consent.field input[type="checkbox"],
.privacy-consent__label input[type="checkbox"]{
  width:auto;
  min-width:18px;
  height:18px;
  margin:2px 0 0;
  padding:0;
  display:inline-block;
  flex:0 0 auto;
  border:1px solid #92a29b;
  background:var(--paper);
  accent-color:var(--forest);
}
.privacy-consent__label span{
  flex:1 1 auto;
  min-width:0;
  max-width:36rem;
}
.privacy-consent__label a{font-weight:800}
.case-studies{padding:30px 0 110px}
.case-heading{max-width:800px;margin-bottom:44px}
.case-heading>p:last-child{color:#49605c;font-size:18px;line-height:1.65;margin-bottom:0}
.case-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.case-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-top:4px solid var(--rust);min-width:0}
.case-header{padding:32px 32px 26px;background:var(--cream);border-bottom:1px solid var(--line)}
.case-category,.engagement-label{font-size:12px;letter-spacing:.12em;font-weight:800;color:#914020;line-height:1.7}
.case-header h3{font-family:Georgia,serif;font-size:32px;letter-spacing:-.025em;line-height:1.13;margin:14px 0 12px}
.case-header p{font-size:14px;line-height:1.5;margin:0;color:#49605c}
.case-body{display:flex;flex-direction:column;flex:1;padding:30px 32px 0}
.case-body section{margin-bottom:28px}
.case-body h4{font-size:16px;margin:0 0 10px}
.case-body p,.case-body li{font-size:16px;line-height:1.65;color:#49605c}
.case-body p{margin:0}
.case-body ul{padding-left:20px;margin:0}
.case-body li+li{margin-top:8px}
.case-body .case-result{margin-top:auto;background:#e6f1eb;padding:22px;margin-bottom:24px}
.case-result p{color:var(--ink)}
.case-link{margin:0 32px 30px;font-size:14px;line-height:1.5;font-weight:800;text-decoration:underline;text-underline-offset:5px}
.engagements{padding:110px 0 20px}
.engagement-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.engagement-card{display:flex;flex-direction:column;padding:30px 26px;background:var(--cream);border:1px solid var(--line)}
.engagement-card h3{font-family:Georgia,serif;font-size:29px;line-height:1.15;margin:18px 0 16px;letter-spacing:-.025em}
.engagement-card p,.engagement-card li{font-size:16px;line-height:1.6;color:#49605c}
.engagement-card>p{margin-top:0}
.engagement-card ul{padding-left:20px;margin:4px 0 24px}
.engagement-card li+li{margin-top:10px}
.engagement-card .engagement-outcome{margin-top:auto;padding-top:18px;border-top:1px solid #c7cabc;color:var(--ink)}
.engagement-card .button{margin-top:12px;align-self:flex-start}
.enquiry-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;padding:105px 0;border-bottom:1px solid var(--line)}
.enquiry-intro>p{font-size:18px;line-height:1.65;color:#49605c}
.enquiry-intro .section-kicker{font-size:12px;color:var(--rust)}
.enquiry-intro .enquiry-note{font-size:14px;border-top:1px solid var(--line);padding-top:20px;margin-top:28px}
.enquiry-form{background:#fff;border:1px solid var(--line);padding:30px;min-width:0}
.form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.field{display:flex;flex-direction:column;gap:9px;margin-bottom:22px;min-width:0}
.field label{font-size:14px;font-weight:800;line-height:1.5}
.field input,.field select,.field textarea{display:block;width:100%;min-width:0;border:1px solid #92a29b;border-radius:0;padding:13px 12px;background:var(--paper);color:var(--ink);font:inherit;font-size:16px;line-height:1.5}
.field textarea{resize:vertical;min-height:150px;max-height:600px}
.field small,.form-help{font-size:14px;color:#596966;line-height:1.5}
.form-help{margin:0 0 20px}
.form-status{font-size:14px;line-height:1.6;background:#e6f1eb;padding:18px;margin:24px 0 0;overflow-wrap:anywhere}
.form-status a{display:block;margin-top:8px}
.form-status[hidden]{display:none}
.enquiry-form noscript p{font-size:16px;line-height:1.6}
@media(max-width:1000px){.engagement-grid{grid-template-columns:1fr}.engagement-card{padding:30px}.enquiry-section{gap:35px;grid-template-columns:1fr 1.3fr}.form-row{grid-template-columns:1fr;gap:0}}
@media(max-width:850px){.case-grid,.enquiry-section{grid-template-columns:1fr}.case-studies{padding:0 0 75px}.engagements{padding:75px 0 0}.enquiry-section{padding:75px 0;gap:30px}.case-header h3{font-size:30px}.form-row{grid-template-columns:1fr 1fr;gap:18px}.navlinks{display:none}}
@media(max-width:520px){.case-header{padding:26px 22px}.case-body{padding:26px 22px 0}.case-link{margin:0 22px 26px}.case-body .case-result{padding:18px}.engagement-card,.enquiry-form{padding:24px 20px}.form-row{grid-template-columns:1fr;gap:0}.hero .actions,.enquiry-form .actions{flex-direction:column}.hero .button,.enquiry-form .button{width:100%}.cta .button{width:100%}.case-heading>p:last-child{font-size:16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}.button:hover{transform:none}}


/* Proof cards — modern professional platform tiles */
.proof-card{
  min-height:210px;
  padding:22px 22px 20px;
  display:flex;
  flex-direction:column;
  gap:10px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:18px;
  position:relative;
  overflow:hidden;
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
  box-shadow:0 1px 0 rgba(16,43,40,.03);
}
.proof-card::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:3px;
  background:linear-gradient(90deg, var(--forest), var(--rust));
  opacity:.85;
}
.proof-card--freelancer::before{background:#0E9AFF}
.proof-card--upwork::before{background:#14A800}
.proof-card--linkedin::before{background:#0A66C2}
.proof-card:hover{
  transform:translateY(-4px);
  border-color:#c9cfc5;
  box-shadow:0 14px 28px rgba(16,43,40,.08);
  background:#fff;
}
.proof-card__head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  margin-bottom:4px;
}
.proof-card__icon{
  width:48px;
  height:48px;
  border-radius:50%;
  overflow:hidden;
  background:transparent;
  box-shadow:none;
  flex-shrink:0;
}
.proof-card__icon img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  border-radius:50%;
}
.proof-card__arrow{
  width:34px;
  height:34px;
  border-radius:50%;
  display:grid;
  place-items:center;
  color:var(--rust);
  background:rgba(200,91,54,.08);
  transition:background .2s ease, color .2s ease, transform .2s ease;
}
.proof-card__arrow svg{width:16px;height:16px}
.proof-card:hover .proof-card__arrow{
  background:var(--forest);
  color:#fff;
  transform:translate(1px,-1px);
}
.proof-card__platform{
  font-size:12px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#6a7673;
  margin-top:6px;
}
.proof-card__name{
  font-family:Georgia,serif;
  font-size:22px;
  font-weight:700;
  letter-spacing:-.02em;
  line-height:1.15;
  color:var(--ink);
  margin:0;
}
.proof-card__meta{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:auto;
  padding-top:14px;
}
.proof-chip{
  display:inline-flex;
  align-items:center;
  gap:5px;
  padding:6px 10px;
  border-radius:999px;
  font-size:12px;
  font-weight:800;
  line-height:1;
  background:#f1f4ef;
  color:var(--ink);
  border:1px solid #e1e6dc;
}
.proof-chip svg{width:12px;height:12px;flex-shrink:0}
.proof-chip--rating{
  background:#fff7ed;
  border-color:#f3dfc4;
  color:#9a5414;
}
.proof-chip--reviews{
  background:#eef6f2;
  border-color:#d3e5dc;
  color:#1f5b4b;
}
.proof-chip--success{
  background:#eef4fb;
  border-color:#d4e1f2;
  color:#1d4f8c;
}
.proof-chip--rank{
  background:#f7f1ea;
  border-color:#e7d8c8;
  color:#7a4a2b;
}
.button-icon{
  width:22px;
  height:22px;
  border-radius:6px;
  object-fit:cover;
}
@media(max-width:850px){
  .proof-card{min-height:190px}
}
@media(prefers-reduced-motion:reduce){
  .proof-card,.proof-card__arrow{transition:none}
  .proof-card:hover{transform:none}
}

/* Client reviews from admin */
.client-reviews{padding:90px 0 40px;border-top:1px solid var(--line)}
.tp-reviews-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.tp-review-card{display:flex;flex-direction:column;gap:14px;min-height:240px;padding:24px;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 1px 0 rgba(16,43,40,.03)}
.tp-review-card__rating{display:flex;gap:3px;color:#d7d9cf;font-size:16px;letter-spacing:.02em}
.tp-review-card__rating .is-on{color:#c85b36}
.tp-review-card__text{margin:0;font-size:16px;line-height:1.65;color:#49605c;flex:1}
.tp-review-card__footer{display:flex;align-items:center;gap:12px;padding-top:8px;border-top:1px solid #eef1ea}
.tp-review-card__avatar{width:42px;height:42px;border-radius:50%;overflow:hidden;background:var(--mint);display:grid;place-items:center;flex-shrink:0;font-weight:800;color:var(--forest)}
.tp-review-card__avatar img{width:100%;height:100%;object-fit:cover;display:block}
.tp-review-card__footer strong{display:block;font-size:15px;color:var(--ink)}
.tp-review-card__footer small{display:block;font-size:12px;color:#6a7673;margin-top:2px}
.tp-reviews-more{margin:28px 0 0;font-weight:800}
.tp-reviews-more a{color:var(--rust);text-decoration:underline;text-underline-offset:4px}
@media(max-width:1000px){.tp-reviews-grid{grid-template-columns:1fr 1fr}}
@media(max-width:650px){.tp-reviews-grid{grid-template-columns:1fr}.client-reviews{padding:70px 0 20px}}


/* Brand photo in top nav */
.brand-photo{
  width:42px;
  height:42px;
  border-radius:50%;
  object-fit:cover;
  object-position:center top;
  display:block;
  box-shadow:0 0 0 2px #fff, 0 0 0 3px var(--forest);
  flex-shrink:0;
}
.brand:hover .brand-photo{
  box-shadow:0 0 0 2px #fff, 0 0 0 3px var(--rust);
}

/* Agency partnership (sir improved HTML addition) */
.agency-partnership{padding:70px 0;border-top:1px solid var(--line)}
.agency-intro{max-width:760px;margin-bottom:30px}
.agency-intro>p:last-child{color:#49605c;font-size:18px;line-height:1.65}
.agency-points{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-bottom:28px}
.agency-points article{border:1px solid var(--line);padding:24px;background:#fff;border-radius:14px}
.agency-points h3{margin:0 0 10px;font-size:18px}
.agency-points p{margin:0;color:#49605c;line-height:1.6}

/* Explore Taskolia links strip */
.explore-links{padding:80px 0;border-top:1px solid var(--line)}
.explore-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.explore-card{display:flex;flex-direction:column;gap:8px;min-height:140px;padding:22px;background:#fff;border:1px solid var(--line);border-radius:16px;position:relative;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.explore-card:hover{transform:translateY(-3px);border-color:#c9cfc5;box-shadow:0 12px 24px rgba(16,43,40,.08)}
.explore-card span{font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:800;color:var(--rust)}
.explore-card strong{font-family:Georgia,serif;font-size:22px;letter-spacing:-.02em;line-height:1.2;margin-top:auto}
.explore-card i{position:absolute;right:18px;top:18px;font-style:normal;color:var(--rust)}

/* Partner FAQ */
.partner-faq{padding:70px 0;border-top:1px solid var(--line)}
.partner-faq h2{margin-bottom:18px}
.partner-faq details{border-bottom:1px solid var(--line);padding:18px 0}
.partner-faq summary{cursor:pointer;font-weight:800;font-size:17px;list-style:none}
.partner-faq summary::-webkit-details-marker{display:none}
.partner-faq summary::after{content:"+";float:right;color:var(--rust);font-weight:800}
.partner-faq details[open] summary::after{content:"–"}
.partner-faq details p{max-width:820px;margin:12px 0 0;color:#49605c;line-height:1.65}

/* Sticky profile rail — right edge */
@keyframes tp-rail-attract{
  0%,8%,100%{
    transform:scale(1) translateX(0);
    box-shadow:0 2px 10px rgba(16,43,40,.12);
    filter:brightness(1);
  }
  4%{
    transform:scale(1.14) translateX(-4px);
    box-shadow:0 8px 22px rgba(16,43,40,.22),0 0 0 3px rgba(18,61,53,.12);
    filter:brightness(1.06);
  }
}
.tp-profile-rail{
  --rail-count:4;
  --rail-step:2.5s; /* har icon ke beech gap */
  position:fixed;
  z-index:998;
  right:0;
  top:50%;
  transform:translateY(-50%);
  display:flex;
  flex-direction:column;
  gap:12px;
  padding:16px 12px 16px 14px;
  background:rgba(251,250,245,.94);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  border-radius:28px 0 0 28px;
  box-shadow:-6px 10px 28px rgba(16,43,40,.12);
  border:1px solid rgba(215,217,207,.9);
  border-right:0;
}
.tp-profile-rail__item{
  --i:0;
  --rail-cycle:calc(var(--rail-count) * var(--rail-step));
  width:46px;
  height:46px;
  border-radius:50%;
  background:#fff;
  display:grid;
  place-items:center;
  overflow:hidden;
  box-shadow:0 2px 10px rgba(16,43,40,.12);
  transition:transform .2s ease,box-shadow .2s ease;
  animation:tp-rail-attract var(--rail-cycle) ease-in-out infinite;
  animation-delay:calc(var(--i) * var(--rail-step));
}
.tp-profile-rail__item img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  border-radius:50%;
}
.tp-profile-rail__item span{
  font-size:14px;
  font-weight:800;
  color:var(--forest);
}
.tp-profile-rail__item:hover{
  animation:none;
  transform:scale(1.12) translateX(-5px);
  box-shadow:0 10px 24px rgba(16,43,40,.22);
  z-index:1;
}

/* Back to top — left side */
.tp-back-top{
  position:fixed;
  z-index:999;
  left:22px;
  bottom:calc(22px + env(safe-area-inset-bottom,0px));
  width:48px;
  height:48px;
  border:0;
  border-radius:50%;
  background:var(--forest);
  color:#fff;
  display:grid;
  place-items:center;
  cursor:pointer;
  box-shadow:0 10px 24px rgba(18,61,53,.28);
  opacity:0;
  visibility:hidden;
  transform:translateY(12px);
  transition:opacity .25s ease,transform .25s ease,visibility .25s ease,background .2s ease;
  padding:0;
}
.tp-back-top.is-visible{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}
.tp-back-top:hover{background:#0e2f29;color:#fff}
.tp-back-top:focus-visible{
  outline:none;
  box-shadow:0 10px 24px rgba(18,61,53,.28),0 0 0 3px rgba(18,61,53,.28);
}
.tp-back-top svg{width:22px;height:22px;display:block}
.tp-back-top[hidden]{display:none}

/* Floating WhatsApp — drop from top, then half-inch bounce */
@keyframes tp-wa-drop{
  0%{
    top:var(--tp-wa-start);
    opacity:0;
  }
  12%{opacity:1}
  78%{
    top:calc(var(--tp-wa-rest) + 10px);
  }
  100%{
    top:var(--tp-wa-rest);
    opacity:1;
  }
}
@keyframes tp-wa-idle-bounce{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-12px)} /* ~0.5 inch */
}
@keyframes tp-wa-pulse{
  0%{transform:scale(.92);opacity:.55}
  70%{transform:scale(1.5);opacity:0}
  100%{transform:scale(.92);opacity:0}
}
.tp-whatsapp-float{
  --tp-wa-size:64px;
  --tp-wa-gap:22px;
  --tp-wa-start:-80px;
  --tp-wa-rest:calc(100vh - var(--tp-wa-gap) - var(--tp-wa-size) - env(safe-area-inset-bottom,0px));
  position:fixed;
  z-index:999;
  right:var(--tp-wa-gap);
  left:auto;
  top:var(--tp-wa-start);
  bottom:auto;
  width:var(--tp-wa-size);
  height:var(--tp-wa-size);
  border-radius:50%;
  background:#25d366;
  color:#fff;
  display:grid;
  place-items:center;
  box-shadow:0 12px 30px rgba(37,211,102,.48);
  animation:
    tp-wa-drop 1.15s cubic-bezier(.22,.9,.28,1) forwards,
    tp-wa-idle-bounce 1.05s ease-in-out 1.15s infinite;
  transition:background .2s ease,box-shadow .2s ease;
}
.tp-whatsapp-float svg{
  width:34px;
  height:34px;
  position:relative;
  z-index:1;
  display:block;
}
.tp-whatsapp-float__pulse{
  position:absolute;
  inset:0;
  border-radius:50%;
  background:rgba(37,211,102,.45);
  animation:tp-wa-pulse 1.8s ease-out 1.15s infinite;
  pointer-events:none;
}
.tp-whatsapp-float__pulse--delay{animation-delay:2.05s}
.tp-whatsapp-float:hover{
  background:#1ebe57;
  color:#fff;
  box-shadow:0 16px 36px rgba(37,211,102,.55);
}
.tp-whatsapp-float:hover{
  animation:
    tp-wa-drop 1.15s cubic-bezier(.22,.9,.28,1) forwards,
    none;
}
/* Mobile nav toggle */
.nav-toggle{
  display:none;
  width:44px;
  height:44px;
  border:0;
  background:transparent;
  padding:10px;
  cursor:pointer;
  flex-direction:column;
  justify-content:center;
  gap:6px;
  z-index:30;
}
.nav-toggle__bar{
  display:block;
  width:100%;
  height:2px;
  background:var(--forest);
  border-radius:2px;
  transition:transform .2s ease,opacity .2s ease;
}
.nav.is-open .nav-toggle__bar:nth-child(1){transform:translateY(8px) rotate(45deg)}
.nav.is-open .nav-toggle__bar:nth-child(2){opacity:0}
.nav.is-open .nav-toggle__bar:nth-child(3){transform:translateY(-8px) rotate(-45deg)}

@media(max-width:850px){
  .nav{
    position:relative;
    height:auto;
    min-height:72px;
    padding:12px 0;
    flex-wrap:wrap;
    gap:8px;
  }
  .nav-toggle{display:flex}
  .navlinks{
    display:none;
    width:100%;
    flex-direction:column;
    gap:0;
    padding:8px 0 12px;
    border-top:1px solid var(--line);
    margin-top:4px;
  }
  .nav.is-open .navlinks{display:flex}
  .navlinks a{
    display:block;
    padding:14px 4px;
    border-bottom:1px solid var(--line);
    font-size:15px;
  }
  .navlinks a:last-child{border-bottom:0}
  body.tp-nav-open{overflow:hidden}
}

@media(max-width:700px){
  .agency-points,.explore-grid{grid-template-columns:1fr 1fr}
  .agency-partnership{padding:50px 0}
  /* Profiles: bottom sticky bar on mobile */
  .tp-profile-rail{
    top:auto;
    right:0;
    left:0;
    bottom:0;
    transform:none;
    flex-direction:row;
    justify-content:center;
    align-items:center;
    gap:14px;
    width:100%;
    padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px));
    border-radius:18px 18px 0 0;
    border:1px solid rgba(215,217,207,.95);
    border-bottom:0;
    box-shadow:0 -8px 28px rgba(16,43,40,.12);
    background:rgba(251,250,245,.97);
  }
  .tp-profile-rail__item{
    width:42px;
    height:42px;
    animation:tp-rail-attract-mobile var(--rail-cycle) ease-in-out infinite;
    animation-delay:calc(var(--i) * var(--rail-step));
  }
  .tp-profile-rail__item:hover{
    transform:scale(1.1) translateY(-3px);
  }
  @keyframes tp-rail-attract-mobile{
    0%,8%,100%{
      transform:scale(1) translateY(0);
      box-shadow:0 2px 10px rgba(16,43,40,.12);
      filter:brightness(1);
    }
    4%{
      transform:scale(1.12) translateY(-4px);
      box-shadow:0 8px 18px rgba(16,43,40,.2),0 0 0 3px rgba(18,61,53,.1);
      filter:brightness(1.06);
    }
  }
  body{
    padding-bottom:calc(78px + env(safe-area-inset-bottom,0px));
  }
  .tp-whatsapp-float{
    --tp-wa-size:56px;
    --tp-wa-gap:16px;
    --tp-wa-start:-70px;
    /* profile bar (~70px) + clear gap so icon doesn't touch */
    --tp-wa-rest:calc(100vh - 78px - env(safe-area-inset-bottom,0px) - var(--tp-wa-size) - 48px);
  }
  .tp-back-top{
    left:16px;
    width:44px;
    height:44px;
    bottom:calc(78px + env(safe-area-inset-bottom,0px) + 48px);
  }
}
@media(max-width:520px){
  .agency-points,.explore-grid{grid-template-columns:1fr}
  .tp-profile-rail{gap:12px;padding:9px 12px calc(9px + env(safe-area-inset-bottom,0px))}
  .tp-profile-rail__item{width:40px;height:40px}
}
@media(prefers-reduced-motion:reduce){
  .tp-whatsapp-float{
    top:auto;
    bottom:calc(var(--tp-wa-gap) + env(safe-area-inset-bottom,0px));
    animation:none;
  }
  .tp-whatsapp-float:hover{animation:none}
  .tp-whatsapp-float__pulse{animation:none}
  .tp-profile-rail__item{animation:none}
}
