/* tunatheme heading design system. About's section title is the H2 reference. */
:root{
 --tt-heading-family:Manrope,sans-serif;
 --tt-heading-ink:var(--tt-text,#171a20);
 --tt-heading-accent:#006dfa;
 --tt-h1-size:clamp(50px,5.8vw,84px);
 --tt-h2-size:clamp(40px,4.6vw,66px);
 --tt-footer-cta-title-size:32px;
 --tt-modal-title-size:clamp(36px,3.4vw,48px);
 --tt-modal-form-title-size:29px;
 --tt-login-title-size:clamp(28px,2.4vw,32px);
 --tt-blog-single-title-size:clamp(42px,4.1vw,62px);
 --tt-blog-aside-title-size:19px;
 --tt-blog-card-title-size:clamp(23px,2vw,29px);
 --tt-h3-size:clamp(21px,1.8vw,26px);
 --tt-h3-display-size:clamp(32px,3.5vw,48px);
 --tt-h4-size:20px;
 --tt-h5-size:17px;
 --tt-h6-size:15px;
 --tt-h1-weight:500;
 --tt-h2-weight:550;
 --tt-h3-weight:580;
 --tt-heading-line:1.07;
 --tt-heading-tracking:-.065em;
}
html[data-theme=dark]{--tt-heading-accent:#78b3ff}
body :is(h1,h2,h3,h4,h5,h6){
 font-family:var(--tt-heading-family);
 text-wrap:balance;
}
body :is(h1,.tt-type-h1){font-size:var(--tt-h1-size);font-weight:var(--tt-h1-weight)!important;line-height:1.02;letter-spacing:-.072em}
body :is(h2,.tt-type-h2){font-size:var(--tt-h2-size);font-weight:var(--tt-h2-weight)!important;line-height:var(--tt-heading-line);letter-spacing:var(--tt-heading-tracking)}
body :is(h3,.tt-type-h3){font-size:var(--tt-h3-size);font-weight:var(--tt-h3-weight)!important;line-height:1.2;letter-spacing:-.04em}
body :is(h4,.tt-type-h4){font-size:var(--tt-h4-size);font-weight:var(--tt-h3-weight)!important;line-height:1.3;letter-spacing:-.035em}
body :is(h5,.tt-type-h5){font-size:var(--tt-h5-size);font-weight:var(--tt-h3-weight)!important;line-height:1.35;letter-spacing:-.025em}
body :is(h6,.tt-type-h6){font-size:var(--tt-h6-size);font-weight:600!important;line-height:1.4;letter-spacing:-.015em}

/* Page display and section titles use one responsive rhythm. */
body .tt-home .tt-hero-v2-title{
 font-size:var(--tt-h1-size)!important;
 font-weight:var(--tt-h1-weight)!important;
 line-height:1.02!important;
 letter-spacing:-.072em!important;
}
body .tt-home :is(
 .tt-services-heading h2,
 .tt-solutions-heading h2,
 .tt-recent-works-intro h2,
 .tt-about-story-heading h2,
 .tt-why-heading h2,
 .tt-comparison-heading h2,
 .tt-process-heading h2,
 .tt-consult-intro h2
){
 color:var(--tt-heading-ink)!important;
 font-size:var(--tt-h2-size)!important;
 font-weight:var(--tt-h2-weight)!important;
 line-height:var(--tt-heading-line)!important;
 letter-spacing:var(--tt-heading-tracking)!important;
}
body .tt-home :is(
 .tt-hero-v2-title,
 .tt-services-heading h2,
 .tt-recent-works-intro h2,
 .tt-about-story-heading h2,
 .tt-why-heading h2,
 .tt-comparison-heading h2,
 .tt-process-heading h2,
 .tt-consult-intro h2
) :is(em,span.tt-title-accent),
body .tt-home .tt-consult-intro h2>span{
 color:var(--tt-heading-accent)!important;
 font-family:Georgia,serif;
 font-style:italic!important;
 font-weight:400!important;
 letter-spacing:-.045em;
}
body .tt-home .tt-solutions-heading h2 em{
 color:var(--tt-heading-accent)!important;
 font-family:Georgia,serif;
 font-style:italic!important;
 font-weight:400!important;
 letter-spacing:-.045em;
}
html[data-theme=dark] body .tt-home .tt-solutions-heading h2{color:#171a20!important}
html[data-theme=dark] body .tt-home .tt-solutions-heading h2 em{color:#006dfa!important}

/* Card titles share the H3 cadence; featured titles use its display size. */
body .tt-home :is(
 .tt-solutions-card h3,
 .tt-recent-works-slide-head h3,
 .tt-about-story-value h3,
 .tt-why-card h3,
 .tt-process-card h3
){
 font-size:var(--tt-h3-size)!important;
 font-weight:var(--tt-h3-weight)!important;
 line-height:1.2!important;
 letter-spacing:-.04em!important;
}
body .tt-home :is(.tt-about-story-feature h3,.tt-services-name){
 font-size:var(--tt-h3-display-size)!important;
 font-weight:var(--tt-h2-weight)!important;
 line-height:1.08!important;
 letter-spacing:var(--tt-heading-tracking)!important;
}
body .tt-home :is(.tt-hero-v2-capabilities h2,.tt-hero-v2-insight h2,.tt-consult-form-heading h3){
 font-size:clamp(27px,2.3vw,34px)!important;
 font-weight:var(--tt-h2-weight)!important;
 line-height:1.16!important;
 letter-spacing:-.045em!important;
}
body .tt-home .tt-why-skill-panel h4{
 font-size:var(--tt-h4-size)!important;
 font-weight:var(--tt-h3-weight)!important;
 line-height:1.3!important;
 letter-spacing:-.035em!important;
}
body .tt-home .tt-brands-heading h2{
 font-size:var(--tt-h5-size)!important;
 font-weight:var(--tt-h3-weight)!important;
 line-height:1.35!important;
 letter-spacing:-.025em!important;
}

/* Footer display follows the same heading family without changing its layout. */
body .tt-footer-cta h2{
 font-size:var(--tt-footer-cta-title-size)!important;
 font-weight:var(--tt-h2-weight)!important;
 line-height:var(--tt-heading-line)!important;
 letter-spacing:var(--tt-heading-tracking)!important;
}
/* Article title and compact side headings keep their editorial scale. */
body .tt-blog-single .tt-blog-title{
 font-size:var(--tt-blog-single-title-size)!important;
 line-height:1.12!important;
}
body .tt-blog-single :is(.tt-blog-toc,.tt-blog-share) h2{
 font-size:var(--tt-blog-aside-title-size)!important;
 font-weight:var(--tt-h3-weight)!important;
 line-height:1.25!important;
 letter-spacing:-.035em!important;
}
body .tt-blog-single :is(.tt-blog-newsletter,.tt-blog-side-cta) h2{
 font-size:var(--tt-blog-card-title-size)!important;
 font-weight:var(--tt-h3-weight)!important;
 line-height:1.2!important;
 letter-spacing:-.045em!important;
}
@media(max-width:780px){:root{--tt-blog-single-title-size:clamp(40px,7vw,58px)}}
@media(max-width:600px){:root{--tt-blog-single-title-size:clamp(38px,10vw,52px)}}
@media(max-width:700px){
 :root{
  --tt-h1-size:clamp(42px,10.5vw,55px);
  --tt-h2-size:clamp(39px,9vw,52px);
  --tt-footer-cta-title-size:28px;
  --tt-h3-size:clamp(21px,5.6vw,23px);
  --tt-h3-display-size:clamp(31px,8vw,40px);
  --tt-h4-size:19px;
 }
 body .tt-home :is(.tt-hero-v2-capabilities h2,.tt-hero-v2-insight h2,.tt-consult-form-heading h3){font-size:clamp(27px,7vw,31px)!important}
 body .tt-home .tt-brands-heading h2{font-size:18px!important}
 /* Service accordion names use a compact card-heading step on phones. */
 body .tt-home .tt-services-showcase .tt-services-name{font-size:clamp(24px,6.4vw,28px)!important;font-weight:500!important;line-height:1.15!important;letter-spacing:-.045em!important}
}
/* Keep the legal line comfortably readable beside its footer links. */
body .tt-footer-bottom>p,body .tt-footer-bottom>p span,body .tt-footer-bottom>span{font-size:16px;line-height:1.5;font-weight:500}
body .tt-footer-bottom>p{margin:0}
@media(max-width:920px){:root{--tt-modal-title-size:36px}}
@media(max-width:600px){:root{--tt-modal-title-size:30px;--tt-modal-form-title-size:25px}}
