/*
Theme Name: tunatheme Agency
Description: A polished agency child theme for the tunatheme homepage.
Version: 1.0.0
Template: twentytwentyfive
Text Domain: tunatheme-agency
*/
/* tunatheme Agency — homepage design */
:root{--tt-ink:#17191e;--tt-muted:#676b75;--tt-line:rgba(22,27,38,.10);--tt-blue:#6676df;--tt-lilac:#a69cf3;--tt-paper:#f8f9fb;--tt-glass:rgba(255,255,255,.68)}
body{background:#f8f9fb;color:var(--tt-ink);font-family:var(--wp--preset--font-family--manrope,"Manrope",sans-serif)}
a{color:inherit}
.tt-site-header{position:relative;z-index:5;margin:20px auto 0!important;width:min(1240px,calc(100% - 48px));border:1px solid rgba(255,255,255,.84);border-radius:18px;background:rgba(255,255,255,.72);box-shadow:0 10px 35px rgba(28,34,53,.055);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.tt-header-inner{min-height:70px;padding:0 24px;display:flex;align-items:center;justify-content:space-between;gap:24px}.tt-brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none;font-size:16px;font-weight:800;letter-spacing:-.045em}.tt-brand-mark{display:grid;place-items:center;width:30px;height:30px;border-radius:10px;background:#17191e;color:#fff;font-size:14px;letter-spacing:-.04em}.tt-nav{display:flex;align-items:center;gap:32px}.tt-nav a{color:#545963;text-decoration:none;font-size:12px;font-weight:650;transition:color .2s}.tt-nav a:hover{color:#111}.tt-header-cta,.tt-button{display:inline-flex;align-items:center;justify-content:center;gap:12px;border-radius:999px;background:#17191e;color:#fff!important;text-decoration:none;padding:13px 19px;font-size:12px;font-weight:750;transition:transform .2s,background .2s,box-shadow .2s}.tt-header-cta:hover,.tt-button:hover{transform:translateY(-2px);background:#303440;box-shadow:0 10px 22px rgba(21,24,33,.16)}.tt-header-cta{padding:11px 16px}.tt-home{overflow:hidden}.tt-home>.wp-block-post-content{margin:0}.tt-home .wp-block-post-content>.wp-block-html{margin:0}
.tt-hero{position:relative;isolation:isolate;overflow:hidden;padding:100px 24px 82px;background:radial-gradient(ellipse at 77% 43%,rgba(153,164,246,.20),transparent 36%),radial-gradient(ellipse at 68% 76%,rgba(198,190,251,.17),transparent 34%),linear-gradient(180deg,#f8f9fb 0%,#f5f6fa 100%)}.tt-hero:before{content:"";position:absolute;inset:0;z-index:-1;opacity:.32;background-image:linear-gradient(rgba(94,104,135,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(94,104,135,.055) 1px,transparent 1px);background-size:48px 48px;mask-image:linear-gradient(to bottom,transparent,#000 18%,#000 76%,transparent)}.tt-hero-inner{max-width:1240px;margin:auto;display:grid;grid-template-columns:minmax(380px,.92fr) minmax(480px,1.08fr);align-items:center;gap:24px}.tt-copy{position:relative;z-index:2;max-width:580px;animation:tt-rise .8s both}.tt-eyebrow{display:inline-flex;align-items:center;gap:9px;color:#555c70;font-size:10px;font-weight:800;letter-spacing:.15em;text-transform:uppercase}.tt-eyebrow:before{content:"";width:7px;height:7px;border-radius:50%;background:#7886e8;box-shadow:0 0 0 5px rgba(120,134,232,.12)}.tt-copy h1{margin:22px 0 20px;max-width:630px;font-size:clamp(48px,6.1vw,78px);line-height:.99;letter-spacing:-.075em;font-weight:760}.tt-copy h1 span{color:#747fd8}.tt-lede{max-width:500px;margin:0;color:#676b75;font-size:15px;line-height:1.85}.tt-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:29px}.tt-button{padding:15px 21px}.tt-button-secondary{display:inline-flex;align-items:center;gap:10px;padding:14px 18px;border:1px solid var(--tt-line);border-radius:999px;color:#292c34;text-decoration:none;font-size:12px;font-weight:750;transition:background .2s,border .2s}.tt-button-secondary:hover{background:#fff;border-color:rgba(22,27,38,.2)}.tt-proof{display:flex;align-items:center;gap:15px;margin-top:39px}.tt-avatars{display:flex;padding-left:4px}.tt-avatar{display:grid;place-items:center;width:29px;height:29px;margin-left:-4px;border:2px solid #f6f7fa;border-radius:50%;background:#dfe3fa;color:#4a568e;font-size:9px;font-weight:800}.tt-avatar:nth-child(2){background:#eae1f8;color:#795d99}.tt-avatar:nth-child(3){background:#e2ebe7;color:#55766a}.tt-proof-copy{font-size:10px;line-height:1.6;color:#737783}.tt-proof-copy strong{display:block;color:#262932;font-size:11px}
.tt-visual{position:relative;min-height:530px;display:grid;place-items:center;perspective:1300px;animation:tt-rise .9s .1s both}.tt-visual:before{content:"";position:absolute;width:85%;height:72%;top:13%;left:8%;z-index:-1;background:linear-gradient(130deg,rgba(130,145,244,.10),rgba(184,167,244,.19),rgba(255,255,255,0));filter:blur(34px);transform:rotate(-18deg)}.tt-browser{position:relative;width:min(100%,550px);min-height:390px;padding:0;overflow:hidden;border:1px solid rgba(255,255,255,.88);border-radius:24px;background:rgba(255,255,255,.77);box-shadow:0 38px 90px rgba(48,54,91,.17),inset 0 1px rgba(255,255,255,.9);backdrop-filter:blur(20px);transform:rotateY(-9deg) rotateX(3deg) rotateZ(-2deg);animation:tt-float 8s ease-in-out infinite}.tt-browser-bar{height:44px;padding:0 16px;display:flex;align-items:center;gap:6px;border-bottom:1px solid rgba(35,41,62,.07);background:rgba(250,250,253,.8)}.tt-dot{width:7px;height:7px;border-radius:50%;background:#e5a7a8}.tt-dot:nth-child(2){background:#eacb8a}.tt-dot:nth-child(3){background:#9ccdb4}.tt-address{height:20px;width:43%;margin:auto;border:1px solid #ececf1;border-radius:7px;background:rgba(255,255,255,.78)}.tt-preview{padding:20px 22px 24px}.tt-preview-nav{display:flex;align-items:center;justify-content:space-between;font-size:8px;color:#686d7a}.tt-preview-logo{font-size:9px;font-weight:850;letter-spacing:-.04em;color:#22252d}.tt-preview-links{display:flex;gap:14px}.tt-preview-pill{padding:6px 10px;border-radius:99px;background:#242731;color:#fff;font-weight:700}.tt-preview-hero{position:relative;min-height:175px;margin-top:17px;padding:23px 20px;border-radius:14px;overflow:hidden;background:linear-gradient(120deg,#e7e9f8,#f1edf9 65%,#e6f0f4)}.tt-preview-hero:after{content:"";position:absolute;right:8%;bottom:-28px;width:142px;height:142px;border-radius:50%;background:radial-gradient(circle at 35% 30%,rgba(255,255,255,.95),rgba(141,154,227,.32) 42%,rgba(117,126,194,.04) 70%);box-shadow:inset -12px -8px 20px rgba(81,91,159,.08)}.tt-preview-kicker{font-size:7px;letter-spacing:.14em;text-transform:uppercase;color:#6b75ac;font-weight:800}.tt-preview-hero strong{display:block;max-width:210px;margin-top:9px;font-size:22px;line-height:1.04;letter-spacing:-.065em;color:#222632}.tt-preview-hero p{max-width:190px;margin:8px 0 0;font-size:7px;line-height:1.6;color:#777b89}.tt-preview-action{display:inline-block;margin-top:11px;padding:7px 10px;border-radius:99px;background:#20232b;color:#fff;font-size:7px;font-weight:700}.tt-preview-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:11px}.tt-preview-card{height:69px;padding:10px;border:1px solid rgba(38,43,61,.07);border-radius:10px;background:rgba(255,255,255,.75)}.tt-preview-card i{display:block;width:17px;height:17px;border-radius:6px;background:#e8eafe}.tt-preview-card:nth-child(2) i{background:#e5f0ed}.tt-preview-card:nth-child(3) i{background:#f3e8f4}.tt-preview-card b{display:block;width:55%;height:5px;margin-top:8px;border-radius:9px;background:#535868}.tt-preview-card span{display:block;width:82%;height:4px;margin-top:5px;border-radius:9px;background:#e1e3e9}.tt-float-card{position:absolute;z-index:2;padding:12px 14px;border:1px solid rgba(255,255,255,.88);border-radius:15px;background:rgba(255,255,255,.73);box-shadow:0 18px 46px rgba(45,51,86,.12),inset 0 1px rgba(255,255,255,.8);backdrop-filter:blur(14px);animation:tt-float 7s ease-in-out infinite}.tt-float-label{display:block;color:#777c88;font-size:8px;font-weight:700}.tt-float-card strong{display:block;margin-top:4px;color:#242833;font-size:14px;letter-spacing:-.04em}.tt-ui-card{top:72px;left:0;animation-delay:-1s}.tt-code-card{right:-3px;top:150px;animation-delay:-3s}.tt-code-card strong{font-family:var(--wp--preset--font-family--fira-code,monospace);font-size:9px;line-height:1.5;color:#626fc7}.tt-performance{left:4px;bottom:77px;animation-delay:-2s}.tt-performance strong{font-size:20px}.tt-performance strong em{font-size:9px;color:#58a47d;font-style:normal}.tt-ai-card{right:22px;bottom:35px;display:flex;align-items:center;gap:9px;animation-delay:-4s}.tt-ai-icon{display:grid;place-items:center;width:27px;height:27px;border-radius:9px;background:linear-gradient(145deg,#e6e8ff,#f1eafe);color:#6876d4;font-size:14px}.tt-ai-card strong{margin:0;font-size:10px}.tt-seo-card{right:12px;top:45px;animation-delay:-2.5s}.tt-seo-card strong{font-size:12px}.tt-orbit{position:absolute;border:1px solid rgba(116,130,207,.20);border-radius:50%;transform:rotate(-23deg)}.tt-orbit-one{width:88%;height:70%}.tt-orbit-two{width:102%;height:81%;border-color:rgba(255,255,255,.72)}
.tt-proof-strip{padding:22px 24px;background:#fff;border-top:1px solid rgba(25,31,50,.05);border-bottom:1px solid rgba(25,31,50,.06)}.tt-proof-strip-inner{max-width:1150px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:24px}.tt-proof-note{max-width:180px;color:#727783;font-size:10px;line-height:1.6}.tt-proof-stat{padding-left:22px;border-left:1px solid var(--tt-line)}.tt-proof-stat strong{display:block;font-size:17px;letter-spacing:-.05em}.tt-proof-stat span{display:block;margin-top:3px;color:#767b86;font-size:9px}
.tt-section{padding:96px 24px}.tt-section-inner{max-width:1150px;margin:auto}.tt-section-heading{display:flex;justify-content:space-between;align-items:end;gap:32px;margin-bottom:34px}.tt-section-heading h2{max-width:550px;margin:12px 0 0;font-size:clamp(32px,4vw,48px);line-height:1.04;letter-spacing:-.065em}.tt-section-heading>p{max-width:370px;margin:0;color:#707580;font-size:12px;line-height:1.8}.tt-services{background:#f8f9fb}.tt-service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.tt-service{min-height:205px;padding:23px;border:1px solid rgba(33,39,57,.08);border-radius:18px;background:rgba(255,255,255,.72);transition:transform .25s,box-shadow .25s,border .25s}.tt-service:hover{transform:translateY(-4px);border-color:rgba(111,126,218,.22);box-shadow:0 18px 40px rgba(48,54,91,.08)}.tt-service-icon{display:grid;place-items:center;width:37px;height:37px;border-radius:12px;background:#eef0ff;color:#6876d4;font-size:16px}.tt-service:nth-child(2n) .tt-service-icon{background:#f0ecfa;color:#9177bc}.tt-service h3{margin:24px 0 8px;font-size:16px;letter-spacing:-.04em}.tt-service p{margin:0;color:#737783;font-size:11px;line-height:1.75}
.tt-about{padding-top:35px}.tt-about-panel{display:grid;grid-template-columns:.8fr 1.2fr;gap:56px;align-items:center;padding:54px;border-radius:24px;background:#1c1f27;color:#fff;overflow:hidden;position:relative}.tt-about-panel:after{content:"";position:absolute;width:380px;height:380px;right:-130px;top:-190px;border-radius:50%;background:radial-gradient(circle,rgba(123,132,225,.32),transparent 68%)}.tt-about-panel h2{position:relative;z-index:1;margin:14px 0 0;font-size:clamp(30px,4vw,44px);line-height:1.05;letter-spacing:-.06em}.tt-about-panel p{position:relative;z-index:1;max-width:580px;margin:0;color:#c1c4ce;font-size:12px;line-height:1.9}.tt-about-panel .tt-eyebrow{color:#b7bddb}.tt-about-values{position:relative;z-index:1;display:flex;gap:26px;margin-top:24px}.tt-about-values span{font-size:9px;color:#d2d4dc}.tt-about-values span:before{content:"✓";margin-right:7px;color:#aeb8ff}
.tt-contact{padding:22px 24px 96px}.tt-contact-panel{max-width:1150px;margin:auto;padding:54px 60px;border:1px solid rgba(255,255,255,.9);border-radius:24px;background:radial-gradient(ellipse at 86% 20%,rgba(168,162,240,.22),transparent 34%),linear-gradient(135deg,#fff,#f1f2fa);box-shadow:0 18px 52px rgba(51,57,89,.07);display:flex;justify-content:space-between;align-items:center;gap:30px}.tt-contact-panel h2{max-width:550px;margin:12px 0;font-size:clamp(30px,4vw,46px);line-height:1.04;letter-spacing:-.06em}.tt-contact-panel p{margin:0;color:#737783;font-size:12px}.tt-footer{border-top:1px solid rgba(25,31,50,.07);background:#fff}.tt-footer-inner{max-width:1150px;margin:auto;padding:24px;display:flex;align-items:center;justify-content:space-between;gap:20px}.tt-footer-inner p,.tt-footer-inner>span{margin:0;color:#7a7e88;font-size:10px}
@keyframes tt-float{0%,100%{translate:0 0}50%{translate:0 -9px}}@keyframes tt-rise{from{opacity:0;translate:0 14px}to{opacity:1;translate:0 0}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}
@media(max-width:900px){.tt-hero{padding-top:76px}.tt-hero-inner{grid-template-columns:1fr;max-width:690px}.tt-copy{max-width:650px}.tt-visual{min-height:490px;margin-top:8px}.tt-browser{width:min(90%,550px)}.tt-proof-strip-inner{flex-wrap:wrap;justify-content:center}.tt-proof-note{max-width:none;width:100%;text-align:center}.tt-service-grid{grid-template-columns:repeat(2,1fr)}.tt-about-panel{grid-template-columns:1fr;gap:20px;padding:42px}.tt-section-heading{align-items:start;flex-direction:column}}
@media(max-width:600px){.tt-site-header{width:calc(100% - 24px);margin-top:12px!important}.tt-header-inner{min-height:60px;padding:0 13px;gap:8px}.tt-brand{font-size:14px}.tt-brand-mark{width:27px;height:27px}.tt-nav{display:none}.tt-header-cta{font-size:10px;padding:10px 13px}.tt-hero{padding:70px 20px 52px}.tt-hero-inner{display:block}.tt-copy h1{font-size:clamp(45px,13vw,64px)}.tt-lede{font-size:13px}.tt-proof{margin-top:28px}.tt-visual{min-height:360px;margin:8px -10px 0;transform:scale(.96)}.tt-browser{width:92%;min-height:310px;border-radius:19px}.tt-browser-bar{height:36px}.tt-preview{padding:15px}.tt-preview-hero{min-height:143px;padding:18px 16px}.tt-preview-hero strong{font-size:18px}.tt-preview-cards{gap:6px}.tt-preview-card{height:57px;padding:7px}.tt-float-card{padding:9px 10px}.tt-ui-card{top:30px;left:0}.tt-code-card{right:-2px;top:105px}.tt-performance{bottom:42px;left:-2px}.tt-ai-card{bottom:10px;right:10px}.tt-seo-card{right:0;top:15px}.tt-proof-strip-inner{gap:17px}.tt-proof-stat{padding-left:12px}.tt-proof-stat strong{font-size:14px}.tt-proof-stat span{font-size:8px}.tt-section{padding:68px 20px}.tt-section-heading h2{font-size:36px}.tt-service-grid{grid-template-columns:1fr}.tt-service{min-height:unset;padding:20px}.tt-service h3{margin-top:17px}.tt-about{padding-top:0}.tt-about-panel{padding:30px 24px;border-radius:20px}.tt-about-values{flex-wrap:wrap;gap:12px 20px}.tt-contact{padding:0 20px 68px}.tt-contact-panel{padding:32px 24px;align-items:flex-start;flex-direction:column;border-radius:20px}.tt-contact-panel h2{font-size:36px}.tt-footer-inner{flex-wrap:wrap;padding:20px;gap:12px}.tt-footer-inner p{order:3;width:100%}}
/* Full-width front-page sections inside the block theme constrained layout. */
.tt-site-header{position:sticky;top:12px}
.tt-home .wp-block-post-content.is-layout-constrained>.tt-hero,.tt-home .wp-block-post-content.is-layout-constrained>.tt-proof-strip,.tt-home .wp-block-post-content.is-layout-constrained>.tt-section,.tt-home .wp-block-post-content.is-layout-constrained>.tt-contact{width:100%;max-width:none;margin-inline:0}
/* Standard, comfortable reading sizes across the site. */
.tt-nav a{font-size:14px}
.tt-header-cta,.tt-button,.tt-button-secondary{font-size:14px}
.tt-eyebrow{font-size:12px}
.tt-lede{font-size:17px}
.tt-proof-copy{font-size:12px}
.tt-proof-copy strong{font-size:13px}
.tt-proof-note{font-size:12px}
.tt-proof-stat strong{font-size:19px}
.tt-proof-stat span{font-size:11px}
.tt-section-heading>p{font-size:14px}
.tt-service h3{font-size:19px}
.tt-service p{font-size:15px}
.tt-about-panel p{font-size:15px}
.tt-about-values span{font-size:12px}
.tt-float-label{font-size:10px}
.tt-float-card strong{font-size:16px}
.tt-code-card strong{font-size:10px}
.tt-performance strong{font-size:22px}
.tt-ai-card strong{font-size:12px}
.tt-seo-card strong{font-size:14px}
.tt-preview-nav,.tt-preview-links,.tt-preview-pill{font-size:9px}
.tt-preview-kicker{font-size:8px}
.tt-preview-hero p{font-size:8px}
.tt-preview-action{font-size:8px}
.tt-footer-inner p,.tt-footer-inner>span{font-size:12px}
@media(max-width:600px){
 .tt-header-cta{font-size:12px}
 .tt-lede{font-size:16px}
 .tt-proof-copy{font-size:11px}
 .tt-proof-copy strong{font-size:12px}
 .tt-proof-stat strong{font-size:15px}
 .tt-proof-stat span{font-size:9px}
 .tt-section-heading>p{font-size:14px}
 .tt-service h3{font-size:18px}
 .tt-service p{font-size:14px}
 .tt-about-panel p{font-size:14px}
 .tt-about-values span{font-size:11px}
 .tt-float-label{font-size:9px}
 .tt-float-card strong{font-size:14px}
 .tt-code-card strong{font-size:9px}
 .tt-ai-card strong{font-size:10px}
 .tt-seo-card strong{font-size:12px}
 .tt-footer-inner p,.tt-footer-inner>span{font-size:11px}
}
/* Align the sticky header flush with the top edge. */
.tt-site-header{top:0;margin-top:0!important}
/* Give the supplied wordmark a crisp, proportionate display. */
.tt-header-inner>.wp-block-site-logo{margin:0;flex:0 0 auto}
.tt-header-inner .wp-block-site-logo img{display:block;width:180px;height:auto;max-height:none;object-fit:contain}
.tt-footer-inner>.wp-block-site-logo{margin:0;flex:0 0 auto}
.tt-footer-inner .wp-block-site-logo img{display:block;width:155px;height:auto;object-fit:contain}
/* Full-width glass header with centered navigation content. */
.tt-site-header.alignfull{width:100%;max-width:none;margin-inline:0!important;border-radius:0;border-left:0;border-right:0}
.tt-header-inner{width:min(1240px,100%);margin-inline:auto;padding-inline:24px}
@media(max-width:600px){.tt-header-inner{padding-inline:13px}}
.tt-site-header.alignfull{width:100%;max-width:none!important;margin-inline:0!important;border-radius:0;border-left:0;border-right:0}
/* Keep the sticky header in the hero's palette, with a subtle scroll separator. */
.tt-site-header{position:sticky;top:0;z-index:20;background:rgba(248,249,251,.88);border-top:0;border-bottom:1px solid rgba(23,25,30,.08);box-shadow:0 8px 24px rgba(23,25,30,.055);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
/* Keep the sticky header clear of the WordPress toolbar for signed-in admins. */
body.admin-bar .tt-site-header{top:32px}
@media(max-width:782px){body.admin-bar .tt-site-header{top:46px}}
/* Wider header content, consistent glass on hover, and no heavy shadow. */
.tt-header-inner{width:min(1400px,100%)}
.tt-site-header,.tt-site-header:hover,.tt-site-header:focus-within{background:rgba(247,248,250,.84);box-shadow:none;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
/* Typography scaled to the supplied reference: bold hero, larger supporting copy. */
.tt-copy h1{font-size:clamp(50px,5.2vw,68px)}
.tt-lede{font-size:22px;line-height:1.65}
.tt-nav a{font-size:16px}
.tt-header-cta{font-size:15px}
.tt-section-heading>p{font-size:16px}
.tt-service p{font-size:16px}
.tt-about-panel p{font-size:16px}
@media(max-width:900px){.tt-copy h1{font-size:clamp(48px,7.2vw,64px)}.tt-lede{font-size:19px}}
@media(max-width:600px){.tt-copy h1{font-size:clamp(44px,12.5vw,54px)}.tt-lede{font-size:18px}.tt-nav a{font-size:14px}.tt-section-heading>p,.tt-service p,.tt-about-panel p{font-size:15px}}
/* Soften the sticky header separator into a glass edge. */
.tt-site-header{border-bottom:1px solid rgba(255,255,255,.62);box-shadow:inset 0 -1px 0 rgba(95,108,150,.08);background:rgba(247,248,250,.68);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px)}
.tt-site-header:hover,.tt-site-header:focus-within{border-bottom-color:rgba(255,255,255,.62);box-shadow:inset 0 -1px 0 rgba(95,108,150,.08);background:rgba(247,248,250,.68);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px)}
/* Center the full navigation between the brand and contact action. */
.tt-header-inner{position:relative}
.tt-nav{position:absolute;left:50%;transform:translateX(-50%);white-space:nowrap}
@media(max-width:900px){.tt-nav{gap:16px}.tt-nav a{font-size:13px}.tt-header-inner{padding-inline:18px}}
@media(max-width:600px){.tt-header-inner{padding-inline:13px}}
/* Slightly reduce the browser mockup while keeping its floating cards unchanged. */
@media(min-width:901px){.tt-browser{width:min(92%,500px);min-height:360px}}
/* Place the logo and CTA at opposite viewport edges; keep the menu centered. */
.tt-header-inner{width:100%;max-width:none;padding-inline:32px}
@media(max-width:900px){.tt-header-inner{padding-inline:18px}}
@media(max-width:600px){.tt-header-inner{padding-inline:13px}}
/* Let header controls use the full-width bar instead of the theme content column. */
.tt-header-inner{box-sizing:border-box;width:100%;max-width:none}
.tt-header-inner.is-layout-constrained>:where(:not(.alignleft):not(.alignright):not(.alignfull)){max-width:none!important;margin-left:0!important;margin-right:0!important}
.tt-header-inner>.wp-block-site-logo{justify-self:start}
.tt-header-inner>.tt-header-cta{margin-left:auto!important}
/* Keep all page content in one centered 1400px grid. */
.tt-header-inner{box-sizing:border-box;width:min(1400px,100%);max-width:1400px;margin-inline:auto}
.tt-hero-inner,.tt-section-inner,.tt-proof-strip-inner,.tt-footer-inner{max-width:1400px}
.tt-contact-panel{max-width:1400px}
/* Include inner padding inside the 1400px cap on contact and footer. */
.tt-contact-panel,.tt-footer-inner{box-sizing:border-box;width:100%;max-width:1400px}
/* Match the hero emphasis to tunatheme's logo blue. */
.tt-copy h1 span{color:#006DFA}
/* Restore the larger browser preview and slightly tighten the site content grid. */
.tt-header-inner{width:min(1300px,100%);max-width:1300px}
.tt-hero-inner,.tt-section-inner,.tt-proof-strip-inner,.tt-footer-inner{max-width:1300px}
.tt-contact-panel{max-width:1300px}
@media(min-width:901px){.tt-browser{width:min(100%,550px);min-height:390px}}
/* Keep the requested 1400px maximum content width. */
.tt-header-inner{width:min(1400px,100%);max-width:1400px}
.tt-hero-inner,.tt-section-inner,.tt-proof-strip-inner,.tt-footer-inner{max-width:1400px}
.tt-contact-panel{max-width:1400px}
/* Slightly tighten typography and spacing without changing the 1400px grid. */
.tt-copy h1{font-size:clamp(48px,5vw,64px)}
.tt-lede{font-size:20px;line-height:1.65}
.tt-section{padding-top:88px;padding-bottom:88px}
.tt-section-heading h2{font-size:clamp(30px,3.7vw,45px)}
.tt-section-heading>p{font-size:15px}
.tt-service h3{font-size:18px}
.tt-service p{font-size:15px}
.tt-about-panel h2{font-size:clamp(30px,3.6vw,42px)}
.tt-about-panel p{font-size:15px}
.tt-contact-panel h2{font-size:clamp(30px,3.7vw,42px)}
.tt-contact-panel p{font-size:15px}
@media(max-width:900px){.tt-copy h1{font-size:clamp(46px,6.8vw,60px)}.tt-lede{font-size:18px}}
@media(max-width:600px){.tt-copy h1{font-size:clamp(42px,11.5vw,50px)}.tt-lede{font-size:17px}.tt-section{padding-top:64px;padding-bottom:64px}}
/* Reduce the empty space between the sticky header and hero content. */
.tt-hero{padding-top:48px}
@media(max-width:900px){.tt-hero{padding-top:44px}}
@media(max-width:600px){.tt-hero{padding-top:40px}}
/* Move the UI/UX and performance cards beside the browser's right edge. */
@media(min-width:901px){
 .tt-ui-card{left:auto;right:-8px;top:125px}
 .tt-code-card{top:210px}
 .tt-performance{left:auto;right:8px;bottom:95px}
}
/* The hero title now starts cleanly without its eyebrow label. */
.tt-copy h1{margin-top:0}
/* Restore UI/UX and Performance cards to their original left-side positions. */
@media(min-width:901px){
 .tt-ui-card{left:0;right:auto;top:72px}
 .tt-performance{left:4px;right:auto;bottom:77px}
}
/* Align header items to the same 1400px edges as the hero content. */
.tt-header-inner{padding-inline:0}
@media(max-width:600px){.tt-header-inner{padding-inline:13px}}
/* Vertically center the header action; remove the block theme's extra top margin. */
.tt-header-inner>.tt-header-cta{align-self:center;margin-block:0!important}
/* Center the menu vertically and remove the block theme's extra top spacing. */
.tt-header-inner>.tt-nav{top:50%;transform:translate(-50%,-50%);margin-block:0!important}
/* Use tunatheme blue for the header contact button hover instead of a shadow. */
.tt-header-cta:hover,.tt-header-cta:focus-visible{background:#006DFA;box-shadow:none}
/* Modern black-to-tunatheme-blue hover sweep for the contact button. */
.tt-header-cta{background-color:#17191e;background-image:linear-gradient(105deg,#17191e 0%,#17191e 48%,#006DFA 52%,#1682FF 100%);background-size:200% 100%;background-position:0% 50%;transition:background-position .45s cubic-bezier(.22,1,.36,1),transform .28s cubic-bezier(.22,1,.36,1)}
.tt-header-cta:hover,.tt-header-cta:focus-visible{background-color:#17191e;background-position:100% 50%;box-shadow:none;transform:translateY(-2px)}
.tt-header-cta:active{transform:translateY(0) scale(.98)}
/* Ensure the hover sweep ends fully blue and returns fully black on mouse leave. */
.tt-header-cta{background-image:linear-gradient(105deg,#17191e 0 50%,#006DFA 50% 100%)}

/* Contact button: sweep to blue on hover, remain blue until mouse leaves, then sweep back. */
.tt-header-cta:hover,.tt-header-cta:focus-visible{
  background-color:#006DFA;
  background-image:linear-gradient(105deg,#17191e 0 50%,#006DFA 50% 100%);
  background-position:100% 50%;
  box-shadow:none;
  transform:translateY(-2px);
}
/* Two-tone Contact Us button, with tunatheme blue sweeping across on hover. */
.tt-header-cta{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  background:#17191e;
  box-shadow:none;
}
.tt-header-cta::before{
  content:"";
  position:absolute;
  z-index:-1;
  inset:0 0 0 auto;
  width:39%;
  background:#006DFA;
  clip-path:polygon(24% 0,100% 0,100% 100%,0 100%);
  transition:width .45s cubic-bezier(.22,1,.36,1),clip-path .45s cubic-bezier(.22,1,.36,1);
}
.tt-header-cta:hover::before,.tt-header-cta:focus-visible::before{
  width:112%;
  clip-path:polygon(0 0,100% 0,100% 100%,0 100%);
}
.tt-header-cta:hover,.tt-header-cta:focus-visible{
  background:#17191e;
  background-image:none;
  box-shadow:none;
}
/* Correct Contact button state: black by default, fully blue only while hovered. */
.tt-header-cta{
  background:#17191e;
  background-image:none;
}
.tt-header-cta::before{
  z-index:0;
  inset:0 auto 0 0;
  width:0;
  background:#006DFA;
  clip-path:none;
  transition:width .42s cubic-bezier(.22,1,.36,1);
}
.tt-header-cta > span{
  position:relative;
  z-index:1;
}
.tt-header-cta:hover::before,.tt-header-cta:focus-visible::before{
  width:100%;
  clip-path:none;
}
.tt-header-cta:hover,.tt-header-cta:focus-visible{
  background:#17191e;
  background-image:none;
  background-position:0 0;
  box-shadow:none;
}
/* Bring the two left floating cards closer to the browser visual. */
@media(min-width:901px){
  .tt-ui-card{left:34px}
  .tt-performance{left:38px}
}
/* Balanced hero heading rhythm: tight but comfortably readable. */
.tt-copy h1{
  letter-spacing:-.055em;
  line-height:1.02;
}
/* Refined client-trust indicator: compact avatar marks and readable supporting copy. */
.tt-proof{
  align-items:center;
  gap:16px;
  margin-top:34px;
}
.tt-avatars{display:flex;align-items:center;padding-left:3px;flex:none}
.tt-avatar{
  width:38px;
  height:38px;
  margin-left:-3px;
  border-width:2px;
  font-size:12px;
  line-height:1;
}
.tt-proof-copy{
  font-size:14px;
  line-height:1.4;
  color:#747986;
}
.tt-proof-copy strong{
  margin-bottom:2px;
  font-size:15px;
  line-height:1.35;
  font-weight:600;
  color:#30343d;
}
@media(max-width:600px){
  .tt-avatar{width:35px;height:35px}
  .tt-proof-copy{font-size:13px}
  .tt-proof-copy strong{font-size:14px}
}
/* Keep the editable WordPress Navigation block aligned like the original menu. */
.tt-header-inner>.wp-block-navigation.tt-nav{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  margin:0!important;
}
.tt-header-inner>.wp-block-navigation.tt-nav .wp-block-navigation__container{
  align-items:center;
  gap:32px;
}
.tt-header-inner>.wp-block-navigation.tt-nav a{
  color:#545963;
  font-size:16px;
  font-weight:650;
  text-decoration:none;
  transition:color .2s ease;
}
.tt-header-inner>.wp-block-navigation.tt-nav a:hover{color:#006DFA}
@media(max-width:900px){
  .tt-header-inner>.wp-block-navigation.tt-nav .wp-block-navigation__container{gap:16px}
  .tt-header-inner>.wp-block-navigation.tt-nav a{font-size:13px}
}
@media(max-width:600px){.tt-header-inner>.wp-block-navigation.tt-nav{display:none}}
/* Prevent the Navigation block from wrapping into a vertical list. */
.tt-header-inner>.wp-block-navigation.tt-nav{
  display:block;
  width:max-content;
  white-space:nowrap;
}
.tt-header-inner>.wp-block-navigation.tt-nav > .wp-block-navigation__container{
  display:flex!important;
  flex-direction:row!important;
  flex-wrap:nowrap!important;
  width:max-content!important;
  white-space:nowrap;
}
/* Company Deck and full agency footer. */
.tt-footer.alignfull{width:100%;max-width:none;margin:0!important;padding:0;background:#050506;color:#fff;border:0;overflow:hidden}
.tt-footer-inner{position:relative;box-sizing:border-box;width:min(1400px,100%);max-width:1400px;margin:auto;padding:68px 24px 20px;display:block}
.tt-company-deck{padding-bottom:48px;border-bottom:1px solid rgba(255,255,255,.13)}
.tt-company-deck-title{margin:0 0 24px;color:#95a0b4;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.tt-company-ratings{display:grid;grid-template-columns:repeat(5,1fr);gap:26px;align-items:start}
.tt-rating{min-width:0;text-align:center;color:#f5f7fb}
.tt-rating>strong{display:inline-block;font-size:22px;line-height:1;font-weight:750;letter-spacing:-.055em;white-space:nowrap}
.tt-rating>strong span{color:#14d6df}.tt-rating small{display:block;margin-top:11px;color:#d8dbe3;font-size:12px;font-weight:600}.tt-rating small b{margin-left:4px;color:#f68a18;letter-spacing:1px;font-size:11px}.tt-rating small i{color:#667080;font-style:normal}.tt-clutch>strong{font-size:35px;font-weight:600;letter-spacing:-.08em}.tt-sortlist>strong{font-weight:800}.tt-trustpilot{margin-right:4px;color:#00b67a;font-size:30px!important;vertical-align:-2px}
.tt-footer-offices{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;padding:52px 0 48px;text-align:center}
.tt-footer-offices article{margin:0}.tt-office-icon{display:grid;place-items:center;width:32px;height:32px;margin:0 auto 14px;border:1px solid rgba(255,255,255,.42);border-radius:50%;color:#fff;font-size:18px}.tt-footer-offices h3{margin:0;color:#fff;font-size:16px;letter-spacing:-.035em}.tt-footer-offices p{max-width:320px;margin:12px auto;color:#96a0b2;font-size:13px;line-height:1.65}.tt-footer-offices a{color:#fff;font-size:15px;font-weight:700;text-decoration:none}.tt-footer-offices a:hover{color:#006DFA}
.tt-footer-bottom{position:relative;z-index:1;display:flex;align-items:end;justify-content:space-between;gap:24px;padding:22px 0;color:#8792a6}.tt-footer-brand{display:flex;align-items:center;gap:21px}.tt-footer-brand>.wp-block-site-logo{margin:0}.tt-footer-brand .wp-block-site-logo img{display:block;width:155px;height:auto;filter:brightness(0) invert(1) grayscale(1) brightness(2)}.tt-footer-brand p,.tt-footer-bottom>span{margin:0;color:#8792a6;font-size:12px}.tt-footer-bottom>span{white-space:nowrap}
.tt-footer-wordmark{position:relative;z-index:0;margin:28px -10px -25px;color:transparent;font-size:clamp(78px,16vw,245px);font-weight:900;line-height:.76;letter-spacing:-.105em;text-align:center;-webkit-text-stroke:1px rgba(255,255,255,.13);background:linear-gradient(180deg,rgba(255,255,255,.13),rgba(255,255,255,.008));background-clip:text;-webkit-background-clip:text;user-select:none}
.tt-footer-nav{position:relative;z-index:2;display:flex;justify-content:center;gap:8px;margin:28px auto 0;padding:8px;width:max-content;max-width:100%;border-radius:999px;background:#fff}.tt-footer-nav a{padding:11px 18px;border-radius:999px;color:#1a1d25;font-size:13px;font-weight:700;text-decoration:none;white-space:nowrap}.tt-footer-nav a:hover{background:#006DFA;color:#fff}
@media(max-width:900px){.tt-company-ratings{grid-template-columns:repeat(3,1fr);row-gap:28px}.tt-footer-offices{gap:20px}.tt-footer-brand{align-items:flex-start;flex-direction:column;gap:12px}.tt-footer-wordmark{font-size:clamp(70px,15vw,150px)}}
@media(max-width:600px){.tt-footer-inner{padding:52px 20px 16px}.tt-company-deck{padding-bottom:38px}.tt-company-ratings{grid-template-columns:repeat(2,1fr);gap:25px 14px}.tt-company-ratings .tt-rating:last-child{grid-column:1/-1}.tt-rating>strong{font-size:18px}.tt-clutch>strong{font-size:29px}.tt-footer-offices{grid-template-columns:1fr;padding:42px 0 32px;gap:36px}.tt-footer-bottom{align-items:flex-start;flex-direction:column;padding-top:14px;gap:17px}.tt-footer-bottom>span{white-space:normal}.tt-footer-wordmark{margin-top:38px;font-size:clamp(58px,14.6vw,90px)}.tt-footer-nav{gap:2px;margin-top:25px;padding:5px}.tt-footer-nav a{padding:10px 11px;font-size:11px}}

/* Footer navigation, brand and CTA. */
.tt-footer-main{display:grid;grid-template-columns:minmax(240px,280px) repeat(3,minmax(150px,1fr)) minmax(320px,345px);gap:32px;padding:48px 0;border-top:1px solid rgba(255,255,255,.13)}
.tt-footer-brand{display:block}.tt-footer-brand>.wp-block-site-logo{margin:0 0 19px}.tt-footer-brand .wp-block-site-logo img{display:block;width:155px;height:auto;filter:none}.tt-footer-brand p{max-width:230px;margin:0;color:#96a0b2;font-size:13px;line-height:1.65}.tt-social-links{display:flex;gap:8px;margin-top:21px}.tt-social-links a{display:grid;place-items:center;width:31px;height:31px;border:1px solid rgba(255,255,255,.22);border-radius:50%;color:#fff;font-size:13px;font-weight:750;text-decoration:none}.tt-social-links a:hover{border-color:#006DFA;background:#006DFA}
.tt-footer-links{display:flex;flex-direction:column;align-items:flex-start;gap:11px}.tt-footer-links h3{margin:0 0 7px;color:#fff;font-size:14px;letter-spacing:-.02em}.tt-footer-links a{color:#96a0b2;font-size:13px;text-decoration:none}.tt-footer-links a:hover{color:#fff}
.tt-footer-cta{align-self:start;padding:25px;border:1px solid rgba(255,255,255,.14);border-radius:17px;background:linear-gradient(135deg,rgba(0,109,250,.22),rgba(255,255,255,.06))}.tt-footer-cta>span{color:#b6c4da;font-size:11px;font-weight:650}.tt-footer-cta h2{margin:11px 0 20px;color:#fff;font-size:25px;line-height:1;letter-spacing:-.055em}.tt-footer-cta>a{display:inline-flex;gap:13px;align-items:center;padding:11px 14px;border-radius:99px;background:#006DFA;color:#fff;font-size:12px;font-weight:750;text-decoration:none}.tt-footer-cta>a:hover{background:#fff;color:#10131a}.tt-footer-cta b{font-size:15px}
.tt-footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px 0;border-top:1px solid rgba(255,255,255,.13);color:#8792a6}.tt-footer-bottom>span{margin:0;color:#8792a6;font-size:12px;white-space:nowrap}.tt-footer-bottom>div{display:flex;gap:22px}.tt-footer-bottom a{color:#8792a6;font-size:12px;text-decoration:none}.tt-footer-bottom a:hover{color:#fff}
@media(max-width:1000px){.tt-footer-main{grid-template-columns:1.25fr repeat(3,.75fr);gap:24px}.tt-footer-cta{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:20px}.tt-footer-cta h2{margin:0}.tt-footer-brand .wp-block-site-logo img{width:145px}}
@media(max-width:650px){.tt-footer-main{grid-template-columns:repeat(2,1fr);padding:40px 0;gap:34px 20px}.tt-footer-brand{grid-column:1/-1}.tt-footer-cta{grid-column:1/-1;display:block;padding:22px}.tt-footer-cta h2{margin:10px 0 18px}.tt-footer-bottom{align-items:flex-start;flex-direction:column;gap:12px}.tt-footer-bottom>div{gap:17px}.tt-footer-bottom>span{white-space:normal}}

/* Put the primary footer navigation before the Company Deck. */
.tt-footer-main{border-top:0;border-bottom:1px solid rgba(255,255,255,.13)}
.tt-company-deck{padding-top:48px}

/* Keep the public header flush to the top edge. */
.tt-site-header.alignfull{margin:0!important;inset-block-start:0}
@media(max-width:600px){.tt-site-header.alignfull{margin:0!important}}

/* WordPress can retain an admin-bar document offset even when the bar is hidden. */
html{margin-top:0!important}

/* Keep every footer element on the same exact 1400px content grid. */
.tt-footer-inner{width:min(1400px,100%);max-width:1400px;padding:68px 0 20px}
.tt-footer-wordmark{max-width:1400px;margin-inline:0;font-size:clamp(64px,11vw,154px)}
@media(max-width:1400px){.tt-footer-inner{width:100%}}
@media(max-width:600px){.tt-footer-inner{padding:52px 0 16px}.tt-footer-wordmark{font-size:clamp(52px,14vw,80px)}}

/* Footer typography scaled to the VISER X reference. */
.tt-company-deck-title{font-size:12px}
.tt-rating>strong{font-size:24px}.tt-rating small{font-size:13px}.tt-rating small b{font-size:12px}.tt-clutch>strong{font-size:36px}.tt-trustpilot{font-size:32px!important}
.tt-footer-offices h3{font-size:17px}.tt-footer-offices p{font-size:14px}.tt-footer-offices a{font-size:18px}
.tt-footer-brand p{font-size:14px}.tt-footer-links h3{font-size:16px}.tt-footer-links a{font-size:14px}.tt-footer-cta>span{font-size:12px}.tt-footer-cta h2{font-size:32px}.tt-footer-cta>a{font-size:14px}
.tt-footer-bottom>span,.tt-footer-bottom a{font-size:14px}.tt-footer-nav a{font-size:14px}.tt-footer-wordmark{font-size:clamp(80px,15vw,210px)}
@media(max-width:600px){.tt-rating>strong{font-size:20px}.tt-clutch>strong{font-size:31px}.tt-footer-offices a{font-size:16px}.tt-footer-wordmark{font-size:clamp(52px,14vw,80px)}}

/* One stronger step for footer readability. */
.tt-company-deck-title{font-size:13px;font-weight:750}.tt-rating>strong{font-size:26px;font-weight:800}.tt-rating small{font-size:14px;font-weight:700}.tt-clutch>strong{font-size:38px}.tt-footer-offices h3{font-size:18px;font-weight:750}.tt-footer-offices p{font-size:15px;font-weight:550}.tt-footer-offices a{font-size:19px;font-weight:800}
.tt-footer-brand p{font-size:15px;font-weight:550}.tt-footer-links h3{font-size:17px;font-weight:750}.tt-footer-links a{font-size:15px;font-weight:600}.tt-footer-cta>span{font-size:13px;font-weight:700}.tt-footer-cta h2{font-size:35px;font-weight:800}.tt-footer-cta>a{font-size:15px;font-weight:800}.tt-footer-bottom>span,.tt-footer-bottom a{font-size:15px;font-weight:600}.tt-footer-nav a{font-size:15px;font-weight:750}
@media(max-width:600px){.tt-rating>strong{font-size:22px}.tt-clutch>strong{font-size:33px}.tt-footer-offices p{font-size:14px}.tt-footer-offices a{font-size:17px}.tt-footer-links a{font-size:14px}.tt-footer-cta h2{font-size:31px}}

/* Company Deck shortcut below the social links. */
.tt-company-deck-link{display:inline-flex;align-items:center;gap:10px;margin-top:20px;color:#fff;font-size:18px;font-weight:750;letter-spacing:-.035em;text-decoration:none}.tt-company-deck-link span{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#3f82f7;color:#fff;font-size:23px;font-weight:500;line-height:1;transition:transform .2s ease,background .2s ease}.tt-company-deck-link:hover span{background:#006DFA;transform:translateY(3px)}.tt-company-deck{scroll-margin-top:90px}
@media(max-width:600px){.tt-company-deck-link{font-size:17px}.tt-company-deck-link span{width:38px;height:38px;font-size:21px}}

/* Remove the two dividers around the Company Deck. */
.tt-footer-main,.tt-company-deck{border-bottom:0}

/* Pull the primary footer content up by removing the stacked top gap. */
.tt-footer-inner{padding-top:0}.tt-footer-main{padding-top:24px}
@media(max-width:600px){.tt-footer-inner{padding-top:0}.tt-footer-main{padding-top:24px}}

/* Restore the footer’s original section spacing; tighten only the marked brand column. */
.tt-footer-inner{padding-top:68px}.tt-footer-main{padding-top:48px}.tt-company-deck-link{margin-top:8px}
@media(max-width:600px){.tt-footer-inner{padding-top:52px}.tt-footer-main{padding-top:40px}.tt-company-deck-link{margin-top:8px}}

/* Align header and footer content to the same 1400px left edge. */
.tt-header-inner{box-sizing:border-box!important;width:min(1400px,100%)!important;max-width:1400px!important;margin-inline:auto!important;padding-inline:0!important}
@media(max-width:1400px){.tt-header-inner{width:100%!important}}
@media(max-width:600px){.tt-header-inner{padding-inline:13px!important}}

/* Shared outer grid: header and every footer row use the identical left/right edges. */
.tt-site-header>.tt-header-inner,.tt-footer>.tt-footer-inner{box-sizing:border-box!important;width:min(1400px,calc(100% - 48px))!important;max-width:1400px!important;margin-left:auto!important;margin-right:auto!important;padding-left:0!important;padding-right:0!important}
@media(max-width:600px){.tt-site-header>.tt-header-inner,.tt-footer>.tt-footer-inner{width:calc(100% - 26px)!important}.tt-site-header>.tt-header-inner{padding-left:0!important;padding-right:0!important}}

/* The left brand column starts on the same edge as the header logo. */
.tt-footer-main>.tt-footer-brand{position:relative;left:0}.tt-footer-main>.tt-footer-brand,.tt-footer-main>.tt-footer-brand p,.tt-footer-main>.tt-footer-brand .tt-social-links,.tt-footer-main>.tt-footer-brand .tt-company-deck-link{text-align:left;margin-left:0!important}
@media(max-width:1400px){.tt-footer-main>.tt-footer-brand{left:0}}

/* Original logo at the footer end, with depth rising from the bottom edge. */
.tt-footer.alignfull{position:relative}.tt-footer.alignfull::after{content:"";position:absolute;z-index:0;right:0;bottom:0;left:0;height:260px;background:linear-gradient(to top,rgba(0,0,0,.88),rgba(0,0,0,.4) 42%,transparent);pointer-events:none}.tt-footer-inner{position:relative;z-index:auto}.tt-footer-final-logo{position:relative;z-index:2;display:flex;justify-content:center;margin:48px 0 0}.tt-footer-final-logo>.wp-block-site-logo{margin:0}.tt-footer-final-logo .wp-block-site-logo img{display:block;width:180px;height:auto;filter:none}.tt-footer-nav{position:relative;z-index:2}
@media(max-width:600px){.tt-footer.alignfull::after{height:190px}.tt-footer-final-logo{margin-top:36px}.tt-footer-final-logo .wp-block-site-logo img{width:155px}}

/* Large original mark at the footer end, matching the VISER X scale. */
.tt-footer-final-logo{margin-top:58px}.tt-footer-final-logo .wp-block-site-logo img{width:min(1100px,100%);max-width:100%;height:auto}
@media(max-width:600px){.tt-footer-final-logo{margin-top:42px}.tt-footer-final-logo .wp-block-site-logo img{width:min(88vw,560px)}}

/* Oversized dark tunatheme wordmark, inspired by the supplied footer reference. */
.tt-footer-wordmark{position:relative;z-index:2;max-width:1400px;margin:70px auto -14px;color:transparent;font-size:clamp(108px,17.1vw,265px);font-weight:900;line-height:.72;letter-spacing:-.11em;text-align:center;background:linear-gradient(180deg,#25262a 0%,#0a0a0b 85%);background-clip:text;-webkit-background-clip:text;-webkit-text-stroke:1px rgba(255,255,255,.055);user-select:none}.tt-footer-final-logo{display:none}
@media(max-width:600px){.tt-footer-wordmark{margin-top:48px;font-size:clamp(58px,14.3vw,92px);line-height:.76}}

/* Use the original supplied wordmark artwork to preserve tunatheme’s exact logo typography. */
.tt-footer-wordmark{display:flex;justify-content:center;align-items:end;background:none;-webkit-text-fill-color:initial;-webkit-text-stroke:0}.tt-footer-wordmark img{display:block;width:min(1300px,100%);height:auto;filter:grayscale(1) brightness(.16) contrast(1.12);opacity:.92}
@media(max-width:600px){.tt-footer-wordmark img{width:100%}}

/* Keep the oversized logo visible against the black footer. */
.tt-footer-wordmark img{filter:brightness(0) invert(1);opacity:.14}

/* Crisp vector-like wordmark: no enlarged raster image and no blur. */
.tt-footer-wordmark{display:block;color:#242527;font-family:"Arial Rounded MT Bold","Trebuchet MS",Arial,sans-serif;font-size:clamp(104px,17vw,260px);font-weight:900;line-height:.72;letter-spacing:-.105em;text-transform:lowercase;background:none;-webkit-text-fill-color:#242527;-webkit-text-stroke:0;text-align:center;text-shadow:none}.tt-footer-wordmark img{display:none}
@media(max-width:600px){.tt-footer-wordmark{font-size:clamp(58px,14.4vw,92px)}}

/* High-resolution original logo, recoloured as a visible dark charcoal footer mark. */
.tt-footer-wordmark{display:flex;justify-content:center;align-items:end;margin:70px auto -14px;max-width:1400px;background:none;-webkit-text-fill-color:initial;-webkit-text-stroke:0}.tt-footer-wordmark img{display:block;width:min(1400px,100%);height:auto;filter:brightness(0) invert(1);opacity:.15}.tt-footer-final-logo{display:none}
@media(max-width:600px){.tt-footer-wordmark{margin-top:48px}.tt-footer-wordmark img{width:100%;opacity:.17}}

/* Let the bottom shadow fade into the oversized logo itself. */
.tt-footer.alignfull::after{z-index:3}.tt-footer-wordmark{z-index:2}.tt-footer-nav{z-index:4}

/* WordPress adds has-global-padding to the header inner group; remove its vertical padding. */
.tt-site-header>.tt-header-inner.has-global-padding{padding-top:0!important;padding-bottom:0!important;min-height:70px}

/* Keep the logo fade below the footer navigation in one stacking context. */
.tt-footer.alignfull{isolation:isolate}

/* Viewport menu appears only while the footer intersects the screen. */
.tt-footer-nav.tt-footer-nav-floating{
 position:fixed;z-index:100;left:50%;bottom:max(20px,env(safe-area-inset-bottom));
 margin:0;max-width:calc(100vw - 26px);box-sizing:border-box;
 transform:translate(-50%,14px);opacity:0;visibility:hidden;pointer-events:none;
 background:#fff;box-shadow:0 8px 28px rgba(0,0,0,.18);
 transition:opacity .2s ease,transform .2s ease,visibility .2s;
}
.tt-footer-nav.tt-footer-nav-floating.is-visible{
 transform:translate(-50%,0);opacity:1;visibility:visible;pointer-events:auto;
}
.tt-has-floating-menu>.tt-footer-inner{padding-bottom:110px}
@media(max-width:600px){
 .tt-footer-nav.tt-footer-nav-floating a{padding:10px 9px;font-size:13px}
}
@media(prefers-reduced-motion:reduce){.tt-footer-nav.tt-footer-nav-floating{transition:none}}
/* Shared WordPress Navigation blocks keep the footer lists and quick menu editable. */
.tt-footer-column-nav{margin:0!important;padding:0!important;width:100%}
.tt-footer-column-nav .wp-block-navigation__container{display:flex;flex-direction:column;align-items:flex-start;gap:11px}
.tt-footer-column-nav .wp-block-navigation-item{margin:0;padding:0}
.tt-footer-column-nav .wp-block-navigation-item__content{padding:0!important}
.tt-footer-nav.wp-block-navigation{display:flex;justify-content:center;align-items:center}
.tt-footer-nav.wp-block-navigation>.wp-block-navigation__container{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:8px;flex-wrap:nowrap}
.tt-footer-nav.wp-block-navigation .wp-block-navigation-item{margin:0;padding:0}
@media(max-width:600px){.tt-footer-nav.wp-block-navigation>.wp-block-navigation__container{gap:2px}}
/* Compact footer content spacing. */
.tt-footer-inner{padding-top:38px}
.tt-footer-main{gap:22px;padding:18px 0 30px}
.tt-footer-brand>.wp-block-site-logo{margin-bottom:12px}
.tt-footer-brand p{line-height:1.5}
.tt-social-links{margin-top:13px}
.tt-company-deck-link{margin-top:5px}
.tt-footer-links{gap:6px}
.tt-footer-links h3{margin-bottom:3px}
.tt-footer .tt-footer-column-nav .wp-block-navigation__container{gap:7px}
.tt-footer-cta{padding:21px}
.tt-footer-cta h2{margin:8px 0 14px}
.tt-company-deck{padding-top:28px;padding-bottom:26px}
.tt-rating small{margin-top:6px}
.tt-footer-offices{gap:22px;padding:30px 0 28px}
.tt-office-icon{margin-bottom:8px}
.tt-footer-offices p{margin:7px auto 8px;line-height:1.5}
.tt-footer-bottom{gap:16px;padding:15px 0}
.tt-footer-wordmark{margin-top:34px}
.tt-has-floating-menu>.tt-footer-inner{padding-bottom:86px}
@media(max-width:1000px){.tt-footer-main{gap:20px}.tt-footer-cta{padding:19px}}
@media(max-width:650px){
 .tt-footer-inner{padding-top:30px}
 .tt-footer-main{gap:24px 16px;padding:16px 0 24px}
 .tt-footer-brand>.wp-block-site-logo{margin-bottom:10px}
 .tt-social-links{margin-top:12px}
 .tt-company-deck{padding:25px 0 21px}
 .tt-company-ratings{gap:18px 12px}
 .tt-footer-offices{gap:24px;padding:24px 0 22px}
 .tt-footer-bottom{gap:10px;padding:13px 0}
 .tt-footer-wordmark{margin-top:28px}
 .tt-has-floating-menu>.tt-footer-inner{padding-bottom:82px}
}
/* Keep the five footer columns balanced before the tablet layout takes over. */
@media(min-width:1001px) and (max-width:1160px){.tt-footer-main{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.tt-footer-cta{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:20px}.tt-footer-cta h2{margin:0}}