/* Dev Portfolio WordPress integration layer. Keeps original Jesper classes intact. */
.dev-elementor-page-content .elementor-widget:not(:last-child){ margin-bottom:0; }
.tt-main-menu-list, .tt-submenu-list, .tt-footer-menu{ list-style:none; padding:0; margin:0; }
.tt-footer-menu li{ margin-bottom:10px; }
.tt-footer-menu a{ color:inherit; text-decoration:none; }
.project-info-list{ list-style:none; padding:0; margin:0; }
.project-info-list li{ padding:14px 0; border-bottom:1px solid rgba(255,255,255,.15); }
.tt-lightmode-on .project-info-list li, .tt-lightmode-default .project-info-list li{ border-color:rgba(0,0,0,.15); }
.tt-blog-list-item{ margin-bottom:70px; }
.tt-blog-list-img{ display:block; margin-bottom:28px; overflow:hidden; border-radius:12px; }
.tt-blog-list-img img, .tt-post-featured{ width:100%; height:auto; display:block; border-radius:12px; }
.tt-blog-list-title{ font-family:"Big Shoulders Display", sans-serif; font-size:clamp(42px,6vw,86px); line-height:.9; margin:0 0 14px; }
.tt-sidebar-widget{ margin-bottom:44px; }
.tt-sidebar-heading{ font-size:26px; margin-bottom:20px; }
.dev-portfolio-notice{ padding:18px 22px; border:1px solid rgba(255,255,255,.14); border-radius:10px; }
.dev-portfolio-form-control{ margin-bottom:20px; }
.dev-portfolio-form-control label{ display:block; margin-bottom:8px; }
.dev-portfolio-form-control input,.dev-portfolio-form-control textarea{ width:100%; }
/* v1.0.1 footer/menu integration */
.tt-footer-widget-list{list-style:none;padding:0;margin:0;}
.tt-footer-widget-list li{margin-bottom:12px;}
.tt-footer-widget-list a{color:inherit;text-decoration:none;}
.tt-footer-widget-list a:hover{opacity:.7;}
.tt-footer-logo img{max-width:110px;height:auto;}
.tt-social-buttons ul{list-style:none;margin:0;padding:0;display:flex;gap:16px;align-items:center;}
.tt-social-buttons a{color:inherit;text-decoration:none;}
.tt-footer .menu-item a{color:inherit;text-decoration:none;}
/* v1.0.4 archives / blog / single case study */
.dev-blog-list .blog-list-item{margin-bottom:90px;}
.dev-blog-list .bli-image-wrap{display:block;margin-bottom:28px;overflow:hidden;border-radius:8px;}
.dev-blog-list .bli-image img{width:100%;display:block;height:auto;}
.dev-blog-list .bli-title{font-family:"Big Shoulders Display",sans-serif;font-size:clamp(46px,5.6vw,88px);line-height:.92;text-transform:uppercase;margin:10px 0 16px;}
.dev-blog-list .bli-categories a,.ph-caption-categories a{font-size:12px;text-transform:uppercase;color:var(--tt-main-color,#ff4d00);text-decoration:none;}
.dev-blog-list .bli-meta,.ph-caption-meta{font-size:13px;opacity:.7;margin-bottom:18px;}
.dev-blog-sidebar .tt-sidebar-widget{margin-bottom:52px;}
.dev-blog-sidebar .tt-sidebar-heading{font-family:"Big Shoulders Display",sans-serif;font-size:clamp(28px,2.7vw,44px);text-transform:uppercase;margin:0 0 18px;}
.dev-blog-sidebar ul{list-style:none;margin:0;padding:0;}
.dev-blog-sidebar li{margin-bottom:12px;}
.dev-blog-sidebar a{text-decoration:none;color:inherit;}
.dev-popular-posts span{display:block;font-size:12px;opacity:.6;margin-top:3px;}
.tt-blog-post-content{font-size:17px;line-height:1.85;}
.tt-blog-post-content img,.tt-blog-post-content figure img{border-radius:8px;}
.tt-blog-post-tags,.tt-blog-post-share{display:flex;gap:14px;align-items:center;margin-top:32px;font-size:13px;text-transform:uppercase;}
.post-navigation{margin-top:70px;border-top:1px solid rgba(0,0,0,.14);border-bottom:1px solid rgba(0,0,0,.14);padding:26px 0;}
.post-navigation .nav-links{display:grid;grid-template-columns:1fr 1fr;gap:30px;}
.post-navigation a{text-decoration:none;color:inherit;display:block;}
.post-navigation span{display:block;font-size:12px;opacity:.6;margin-bottom:5px;}
.post-navigation strong{font-family:"Big Shoulders Display",sans-serif;font-size:28px;text-transform:uppercase;line-height:1;}
.dev-project-info-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:26px;margin-top:55px;padding-top:28px;border-top:1px solid rgba(0,0,0,.15);}
.dev-project-info-grid span{display:block;font-size:12px;text-transform:uppercase;opacity:.6;margin-bottom:7px;}
.dev-project-info-grid strong,.dev-project-info-grid a{display:block;color:inherit;text-decoration:none;font-weight:600;}
.dev-case-study-section .tt-heading-title{font-size:clamp(48px,5vw,86px);line-height:.92;}
.dev-case-study-section .text-lg{font-size:clamp(18px,1.35vw,23px);line-height:1.55;}
.dev-project-gallery-section figure{margin-left:0;margin-right:0;}
.dev-project-gallery-section figure img{width:100%;border-radius:8px;display:block;}
.dev-project-gallery-section figcaption{font-size:12px;opacity:.65;text-align:right;margin-top:8px;}
.dev-next-project-card{display:block;text-decoration:none;color:inherit;}
.dev-next-project-card img{width:100%;border-radius:8px;display:block;margin-bottom:18px;}
.dev-next-project-card h3{font-family:"Big Shoulders Display",sans-serif;text-transform:uppercase;font-size:clamp(34px,4vw,64px);line-height:.9;margin:0;}
.dev-next-project-card span{font-size:13px;color:var(--tt-main-color,#ff4d00);}
.tt-grid-categories .ttgr-cat-nav{z-index:999;}
.ttgr-cat-nav.is-open{opacity:1;visibility:visible;pointer-events:auto;}
.tt-grid-categories-classic{margin-bottom:42px;text-align:center;}
.tt-grid-categories-classic ul{display:flex;justify-content:center;flex-wrap:wrap;gap:20px;list-style:none;margin:0;padding:0;}
.tt-grid-categories-classic a{text-decoration:none;color:inherit;text-transform:uppercase;font-size:13px;opacity:.55;}
.tt-grid-categories-classic a.active{opacity:1;color:var(--tt-main-color,#ff4d00);}
@media(max-width:991px){.dev-project-info-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.post-navigation .nav-links{grid-template-columns:1fr}.dev-blog-list .blog-list-item{margin-bottom:60px}}
@media(max-width:600px){.dev-project-info-grid{grid-template-columns:1fr}.dev-blog-list .bli-title{font-size:46px}}
/* v1.0.5 bugfix / polish patch */
.admin-bar #tt-header{top:32px;}
#tt-header{z-index:1000;}
#tt-header .tt-header-inner{align-items:center;}
#tt-header .tt-logo img{max-height:62px;width:auto;}
.tt-main-menu-list>li>a,.tt-main-menu-list>li>.tt-submenu-trigger>a{white-space:nowrap;}
@media(max-width:782px){.admin-bar #tt-header{top:46px}}
@media(max-width:1200px){#tt-header .tt-logo img{max-height:48px}}

/* Floating archive filter must close correctly and sit above content */
.ttgr-cat-nav{z-index:10020;}
body.ttgr-cat-nav-open{overflow:hidden;}
.ttgr-cat-nav.is-open{opacity:1!important;visibility:visible!important;pointer-events:auto!important;}
.ttgr-cat-list-holder.cursor-close{cursor:pointer;}
.ttgr-cat-list-content{cursor:auto;}
.ttgr-cat-close-btn{cursor:pointer;}

/* Blog archive/single: restore source breathing room and tame WP sidebar widgets */
.dev-blog-archive-page .tt-section-inner.max-width-1600,
.dev-blog-single-page .tt-section-inner.max-width-1600{max-width:1480px!important;padding-left:clamp(24px,4vw,72px);padding-right:clamp(24px,4vw,72px);}
.dev-blog-archive-page .tt-row,
.dev-blog-single-page .tt-row{--tt-gutter-x:clamp(28px,4vw,70px);}
.dev-blog-sidebar{font-size:17px;line-height:1.55;}
.dev-blog-sidebar .tt-sidebar-widget{margin-bottom:46px;}
.dev-blog-sidebar .tt-sidebar-heading,
.dev-blog-sidebar .widgettitle,
.dev-blog-sidebar .wp-block-heading,
.dev-blog-sidebar h2,
.dev-blog-sidebar h3{font-family:"Big Shoulders Display",sans-serif!important;font-size:clamp(30px,2.7vw,48px)!important;line-height:.95!important;text-transform:uppercase;margin:0 0 18px!important;letter-spacing:.01em;}
.dev-blog-sidebar ul,.dev-blog-sidebar ol{list-style:none;margin:0;padding:0;}
.dev-blog-sidebar li{margin-bottom:13px;font-size:17px;line-height:1.45;}
.dev-blog-sidebar a{font-size:inherit;line-height:inherit;text-decoration:none;color:inherit;}
.dev-blog-sidebar .wp-block-search__inside-wrapper{display:flex;gap:10px;align-items:stretch;}
.dev-blog-sidebar .wp-block-search__input,
.dev-blog-sidebar input[type="search"]{height:52px;font-size:17px;border:1px solid rgba(0,0,0,.24);background:#fff;padding:0 16px;min-width:0;}
.dev-blog-sidebar .wp-block-search__button,
.dev-blog-sidebar button[type="submit"]{height:52px;font-size:16px;padding:0 22px;background:#1f2329;color:#fff;border:0;}
.tt-blog-post-content{font-size:18px;line-height:1.75;}
.tt-blog-post-content p{margin-bottom:1.45em;}
.dev-blog-list .bli-title{font-size:clamp(52px,5vw,78px);}
.dev-blog-list .bli-desc{max-width:780px;font-size:18px;line-height:1.65;}
@media(max-width:991px){.dev-blog-archive-page .tt-section-inner.max-width-1600,.dev-blog-single-page .tt-section-inner.max-width-1600{padding-left:24px;padding-right:24px}.dev-blog-sidebar{margin-top:70px}}

/* FAQ: source accordion behaviour is one active item, keep panel sizing stable */
.dev-faq-section .tt-accordion-content{display:none;}
.dev-faq-section .tt-accordion-item.active .tt-accordion-content,
.dev-faq-section .tt-accordion-content.is-open{display:block;}
.dev-faq-section .tt-ac-head-title{line-height:1.1;}

/* Single project: make case study more editorial and less flat */
.dev-project-single-page .tt-section-inner.tt-wrap{padding-left:clamp(24px,4vw,72px);padding-right:clamp(24px,4vw,72px);}
.dev-project-overview-section .dev-case-lead,
.dev-project-single-page .dev-case-text{font-size:clamp(18px,1.15vw,21px);line-height:1.68;letter-spacing:-.015em;}
.dev-project-single-page .dev-case-lead{font-size:clamp(21px,1.55vw,28px);line-height:1.48;max-width:980px;}
.dev-project-single-page .tt-heading-title{letter-spacing:-.02em;}
.dev-project-info-grid{background:rgba(0,0,0,.035);border:1px solid rgba(0,0,0,.13);border-radius:18px;padding:24px!important;margin-top:38px;}
body:not(.tt-lightmode-on) .dev-project-info-grid{background:rgba(255,255,255,.055);border-color:rgba(255,255,255,.13);}
.dev-case-image-break .tt-image{margin:0;}
.dev-case-image-break .tt-image img{width:100%;display:block;border-radius:0;}
.dev-case-split-media img,.dev-project-gallery-section img{border-radius:18px;}
.dev-case-card{background:#111;color:#f5efe6;border-radius:24px;padding:clamp(28px,4vw,56px);box-shadow:0 24px 80px rgba(0,0,0,.12);}
.tt-lightmode-on .dev-case-card{background:#111;color:#f5efe6;}
.dev-case-kicker{display:block;color:#d24e1b;text-transform:uppercase;font-weight:700;font-size:12px;letter-spacing:.14em;margin-bottom:18px;}
.dev-process-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:34px;}
.dev-process-strip div{border:1px solid rgba(0,0,0,.15);border-radius:18px;padding:18px 20px;min-height:104px;display:flex;flex-direction:column;justify-content:space-between;}
body:not(.tt-lightmode-on) .dev-process-strip div{border-color:rgba(255,255,255,.15);}
.dev-process-strip strong{font-family:"Big Shoulders Display",sans-serif;font-size:44px;line-height:.85;color:#d24e1b;}
.dev-process-strip span{text-transform:uppercase;font-size:12px;letter-spacing:.14em;opacity:.75;}
.dev-conclusion-panel{background:#111;color:#f5efe6;border-radius:28px;padding:clamp(34px,6vw,86px);}
.dev-conclusion-panel .tt-heading-title,.dev-conclusion-panel p{color:inherit;}
.dev-next-project-section{padding-bottom:100px;}
@media(max-width:991px){.dev-process-strip{grid-template-columns:1fr}.dev-case-card,.dev-conclusion-panel{border-radius:18px}.dev-project-single-page .tt-section-inner.tt-wrap{padding-left:24px;padding-right:24px}}

/* v1.0.6 source-harmonic typography + homepage reel section */
:root{
  --dev-type-body: clamp(16px, 1vw, 19px);
  --dev-type-small: clamp(12px, .78vw, 14px);
  --dev-type-copy: clamp(17px, 1.05vw, 20px);
  --dev-type-lead: clamp(22px, 2vw, 32px);
  --dev-type-section-title: clamp(52px, 5vw, 82px);
  --dev-type-big-title: clamp(64px, 10vw, 187px);
}
body{font-size:var(--dev-type-body);}
p,.entry-content,.tt-blog-post-content{font-size:inherit;}
.tt-text-uppercase,.tt-heading-subtitle,.bli-categories,.ph-caption-categories{font-size:var(--dev-type-small);letter-spacing:.04em;}
.dev-home-hero .ph-caption-description,
.dev-page-header .ph-caption-description,
.dev-intro-section .text-xxlg,
.dev-content-section .text-xlg{font-size:var(--dev-type-lead);line-height:1.2;}
.dev-featured-work-list .tt-ppli-title,
.dev-services-accordion-section .tt-haci-title,
.dev-awards-list-section .tt-avlist-title{font-family:var(--tt-alter-font);}
.dev-services-accordion-section .tt-haci-description{font-size:clamp(15px,1vw,18px);line-height:1.45;}
.dev-testimonials-section .tt-stte-text{font-size:clamp(24px,2.65vw,44px);line-height:1.16;}
.dev-awards-list-section .tt-avlist-title{font-size:clamp(34px,4vw,64px);}
.dev-blog-list .bli-title{font-size:clamp(46px,4.4vw,72px);line-height:.95;}
.dev-blog-list .bli-desc{font-size:clamp(16px,1vw,18px);line-height:1.65;}
.tt-blog-post-content{font-size:clamp(16px,1vw,18px);line-height:1.76;}
.dev-blog-sidebar{font-size:clamp(15px,.95vw,17px);line-height:1.55;}
.dev-blog-sidebar .tt-sidebar-heading,
.dev-blog-sidebar .widgettitle,
.dev-blog-sidebar .wp-block-heading,
.dev-blog-sidebar h2,
.dev-blog-sidebar h3{font-size:clamp(28px,2.1vw,40px)!important;line-height:1!important;}
.dev-blog-sidebar li,.dev-blog-sidebar a{font-size:inherit!important;}
.dev-project-single-page .dev-case-text{font-size:clamp(16px,1vw,19px);line-height:1.72;}
.dev-project-single-page .dev-case-lead{font-size:clamp(20px,1.45vw,26px);line-height:1.5;}
.dev-project-single-page .tt-heading-title{font-size:clamp(44px,4.5vw,76px);line-height:.95;}
.dev-project-single-page .dev-conclusion-panel .tt-heading-title{font-size:clamp(52px,5.8vw,104px);}
.dev-reel-section{position:relative;margin-top:clamp(70px,8vw,140px);margin-bottom:clamp(70px,8vw,140px);}
.dev-reel-section .tt-section-inner{width:100%;max-width:none;padding-left:0;padding-right:0;}
.dev-reel-section .tt-clipper{width:100%;}
.dev-reel-section .tt-clipper-inner{background-color:rgb(135 135 135 / 9%);}
.dev-reel-section .tt-clipper-bg img,.dev-reel-section .tt-clipper-bg video{object-position:center center;}
@media (min-width:1025px) and (max-width:1500px){
  .tt-main-menu-list>li{margin-right:clamp(30px,3.1vw,48px);} 
  .tt-main-menu-list>li>a,.tt-main-menu-list>li>.tt-submenu-trigger>a{font-size:clamp(21px,1.6vw,24px);}
}
@media(max-width:991px){
  .dev-reel-section{margin-top:70px;margin-bottom:80px;}
  .dev-blog-list .bli-title{font-size:44px;}
  .dev-blog-sidebar .tt-sidebar-heading,.dev-blog-sidebar .widgettitle,.dev-blog-sidebar .wp-block-heading,.dev-blog-sidebar h2,.dev-blog-sidebar h3{font-size:34px!important;}
}

/* v1.0.7 final polish: archive header, FAQ, blog, comments, socials, WhatsApp, footer */
.dev-portfolio-archive-header{min-height:100vh;display:flex;align-items:center;}
.dev-portfolio-archive-header .page-header-inner.tt-wrap{width:100%;}
.dev-portfolio-archive-header .ph-caption{display:grid;grid-template-columns:minmax(210px,.9fr) minmax(360px,1.45fr) minmax(320px,1fr);gap:clamp(28px,4vw,80px);align-items:center;text-align:left;}
.dev-portfolio-archive-header .ph-caption-subtitle{grid-column:1;font-size:clamp(14px,1.15vw,20px);letter-spacing:.1em;text-transform:uppercase;align-self:start;margin-top:clamp(22px,4vw,70px);}
.dev-portfolio-archive-header .ph-caption-title{grid-column:2;font-size:clamp(90px,13vw,230px);line-height:.82;text-align:left;margin:0;letter-spacing:-.035em;}
.dev-portfolio-archive-header .ph-caption-description{grid-column:3;font-size:clamp(17px,1.32vw,24px);line-height:1.18;text-transform:uppercase;margin:0;max-width:640px;text-align:center;}
.dev-portfolio-archive-header .ph-mask .ph-caption{display:block;text-align:center;}
.dev-portfolio-archive-header .ph-mask .ph-caption-title{font-size:clamp(120px,14vw,260px);}
.dev-portfolio-archive-header .ph-social ul{list-style:none;margin:0;padding:0;}
@media(max-width:991px){.dev-portfolio-archive-header .ph-caption{display:block;text-align:left}.dev-portfolio-archive-header .ph-caption-title{font-size:clamp(86px,24vw,148px)}.dev-portfolio-archive-header .ph-caption-description{text-align:left;margin-top:22px}.dev-portfolio-archive-header .ph-caption-subtitle{margin-top:0}}

.dev-faq-section .tt-accordion-heading{cursor:pointer;user-select:none;}
.dev-faq-section .tt-accordion-content{display:none;overflow:hidden;}
.dev-faq-section .tt-accordion-item.active .tt-accordion-caret-inner{transform:rotate(180deg);transition:transform .3s ease;}
.dev-faq-section .tt-accordion-caret-inner{transition:transform .3s ease;}
.dev-faq-section .tt-ac-head-title{font-size:clamp(28px,2.25vw,44px);}
.dev-faq-section .tt-accordion-content-inner{font-size:clamp(17px,1.18vw,22px);line-height:1.55;}

.dev-blog-archive-page .tt-section-inner.max-width-1600,
.dev-blog-single-page .tt-section-inner.max-width-1600{max-width:none!important;width:100%;padding-left:clamp(48px,6vw,118px)!important;padding-right:clamp(48px,6vw,118px)!important;}
.dev-blog-archive-page .tt-row,
.dev-blog-single-page .tt-row{--bs-gutter-x:clamp(45px,5vw,96px);}
.dev-blog-sidebar .tt-sidebar-heading,
.dev-blog-sidebar .widgettitle,
.dev-blog-sidebar .wp-block-heading,
.dev-blog-sidebar h2,
.dev-blog-sidebar h3{font-size:clamp(29px,1.95vw,42px)!important;letter-spacing:.02em;}
.dev-blog-sidebar{font-size:clamp(15px,.9vw,16.5px)!important;}
.dev-blog-sidebar li{font-size:inherit!important;margin-bottom:12px;}
.dev-blog-sidebar .wp-block-search__input,.dev-blog-sidebar input[type="search"]{font-size:16px;height:54px;}
.dev-blog-sidebar .wp-block-search__button,.dev-blog-sidebar button[type="submit"]{height:54px;font-size:15px;}
@media(max-width:991px){.dev-blog-archive-page .tt-section-inner.max-width-1600,.dev-blog-single-page .tt-section-inner.max-width-1600{padding-left:24px!important;padding-right:24px!important;}}

.dev-post-share ul{list-style:none;margin:0;padding:0;display:flex;gap:18px;align-items:center;}
.dev-post-share a{color:inherit;text-decoration:none;}
.dev-post-share span{text-transform:uppercase;font-size:13px;letter-spacing:.12em;font-weight:700;}
.dev-post-share-inline{display:flex;align-items:center;gap:16px;margin-top:32px;}
.dev-post-share-vertical{position:absolute;left:clamp(34px,4vw,78px);bottom:clamp(56px,8vw,130px);z-index:3;display:flex;flex-direction:column;align-items:center;gap:18px;color:#fff;}
.dev-post-share-vertical span{writing-mode:vertical-rl;transform:rotate(180deg);font-size:14px;color:#fff;}
.dev-post-share-vertical ul{display:flex;flex-direction:column;gap:16px;}
.dev-post-share-vertical a{color:#fff;}
@media(max-width:991px){.dev-post-share-vertical{display:none}.dev-post-share-inline{flex-wrap:wrap}}

.comment-respond{margin-top:60px;border-top:1px solid rgba(0,0,0,.16);padding-top:44px;}
.comment-reply-title{font-family:"Big Shoulders Display",sans-serif!important;font-size:clamp(48px,5.2vw,82px)!important;line-height:.94!important;text-transform:uppercase;margin:0 0 20px!important;}
.comment-form{display:grid;grid-template-columns:1fr 1fr;gap:22px 24px;max-width:980px;}
.comment-form p{margin:0;}
.comment-form-comment,.comment-notes,.logged-in-as,.form-submit{grid-column:1/-1;}
.comment-form label{display:block;font-weight:600;margin-bottom:9px;}
.comment-form input[type="text"],.comment-form input[type="email"],.comment-form input[type="url"],.comment-form textarea{width:100%;background:transparent;border:1px solid rgba(0,0,0,.25);border-radius:0;min-height:58px;padding:14px 16px;font-size:17px;color:inherit;}
.comment-form textarea{min-height:190px;resize:vertical;}
.comment-form input[type="submit"]{border:0;border-radius:999px;background:#d24e1b;color:#fff;text-transform:uppercase;font-weight:700;letter-spacing:.04em;padding:18px 30px;cursor:pointer;}
.comment-form .logged-in-as{font-size:16px;opacity:.8;}
.comment-form a{color:#d24e1b;}
@media(max-width:760px){.comment-form{grid-template-columns:1fr}.comment-form-comment,.comment-notes,.logged-in-as,.form-submit{grid-column:auto}}

.tt-footer .tt-footer-inner{padding-left:clamp(28px,4vw,72px);padding-right:clamp(28px,4vw,72px);}
.dev-footer-contact-list .tt-social-buttons{margin-top:26px;}
.dev-footer-brand{text-align:left;}
.tt-footer-widget-heading{font-family:"Big Shoulders Display",sans-serif;text-transform:uppercase;font-size:clamp(38px,4vw,72px);line-height:.9;}
.tt-footer-widget-list li{font-size:clamp(16px,1.15vw,22px);line-height:1.25;}
.tt-footer-copyright{font-size:clamp(14px,.95vw,17px);opacity:.65;line-height:1.45;}

.dev-whatsapp-float{position:fixed;bottom:28px;z-index:10030;width:58px;height:58px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#25D366;color:#fff;text-decoration:none;box-shadow:0 18px 38px rgba(0,0,0,.22);animation:devWhatsappPulse 2.2s ease-in-out infinite;}
.dev-whatsapp-float.is-right{right:28px;}.dev-whatsapp-float.is-left{left:28px;}
.dev-whatsapp-float i{font-size:28px;}.dev-whatsapp-float span{position:absolute;right:70px;background:#111;color:#fff;border-radius:999px;padding:8px 12px;font-size:12px;text-transform:uppercase;letter-spacing:.08em;opacity:0;transform:translateX(10px);transition:.25s;white-space:nowrap;}.dev-whatsapp-float.is-left span{left:70px;right:auto;transform:translateX(-10px)}.dev-whatsapp-float:hover span{opacity:1;transform:translateX(0)}
@keyframes devWhatsappPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.075)}}

.dev-project-case-nav{position:sticky;top:110px;z-index:9;background:rgba(245,241,233,.74);backdrop-filter:blur(12px);border-top:1px solid rgba(0,0,0,.11);border-bottom:1px solid rgba(0,0,0,.11);}
.dev-project-case-nav-inner{display:flex;justify-content:center;gap:clamp(18px,4vw,58px);padding:14px 22px;}
.dev-project-case-nav a{text-decoration:none;color:inherit;text-transform:uppercase;font-size:12px;letter-spacing:.12em;font-weight:700;opacity:.72}.dev-project-case-nav a:hover{opacity:1;color:#d24e1b;}
.dev-project-single-page .dev-case-text{font-size:clamp(16px,.95vw,18px);line-height:1.72;}.dev-project-single-page .dev-case-lead{font-size:clamp(20px,1.3vw,25px);}.dev-project-single-page .tt-heading-title{font-size:clamp(44px,4.1vw,72px);}
@media(max-width:991px){.dev-project-case-nav{position:relative;top:auto}.dev-project-case-nav-inner{overflow:auto;justify-content:flex-start}.dev-whatsapp-float{bottom:18px;width:52px;height:52px}.dev-whatsapp-float.is-right{right:18px}.dev-whatsapp-float.is-left{left:18px}}

/* v1.0.8 stabilization: blog share cleanup, footer order, archive header, margins and filter overlay */
.dev-post-share-inline,
.tt-blog-post-share.dev-post-share-inline{display:none!important;}

/* Keep blog/archive content away from screen edges, including the posts page template. */
.dev-blog-archive-page .tt-section-inner.max-width-1600,
.dev-blog-single-page .tt-section-inner.max-width-1600{
  box-sizing:border-box;
  padding-left:clamp(72px,7.2vw,140px)!important;
  padding-right:clamp(72px,7.2vw,140px)!important;
}
.dev-blog-archive-page .tt-col-lg-8,
.dev-blog-single-page .tt-col-lg-8{padding-left:0!important;}
.dev-blog-archive-page .tt-col-lg-4,
.dev-blog-single-page .tt-col-lg-4{padding-right:0!important;}
@media(max-width:991px){
  .dev-blog-archive-page .tt-section-inner.max-width-1600,
  .dev-blog-single-page .tt-section-inner.max-width-1600{padding-left:24px!important;padding-right:24px!important;}
}

/* Cleaner source-like work page header alignment. */
.dev-portfolio-archive-header{min-height:calc(100vh - var(--wp-admin--admin-bar--height,0px));padding-top:clamp(24px,3vh,42px);}
.dev-portfolio-archive-header .page-header-inner.tt-wrap{width:100%;max-width:1740px!important;padding-left:clamp(70px,8vw,150px);padding-right:clamp(70px,8vw,150px);}
.dev-portfolio-archive-header .ph-caption{grid-template-columns:minmax(150px,.72fr) minmax(350px,1.18fr) minmax(440px,1.28fr);gap:clamp(28px,4.4vw,88px);align-items:center;}
.dev-portfolio-archive-header .ph-caption-subtitle{margin-top:0;align-self:center;letter-spacing:.14em;}
.dev-portfolio-archive-header .ph-caption-title{font-size:clamp(108px,12.2vw,218px);line-height:.82;letter-spacing:-.032em;}
.dev-portfolio-archive-header .ph-caption-description{font-size:clamp(16px,1.18vw,23px);line-height:1.16;max-width:760px;text-align:center;}
.dev-portfolio-archive-header .ph-mask .page-header-inner,
.dev-portfolio-archive-header .ph-mask-inner{pointer-events:none;}
@media(max-width:1199px){
  .dev-portfolio-archive-header .page-header-inner.tt-wrap{padding-left:32px;padding-right:32px;}
  .dev-portfolio-archive-header .ph-caption{grid-template-columns:1fr;gap:24px;text-align:left;}
  .dev-portfolio-archive-header .ph-caption-description{text-align:left;}
}

/* More reliable fullscreen filter state overrides. */
body.ttgr-cat-nav-open .ttgr-cat-nav{opacity:1!important;visibility:visible!important;pointer-events:auto!important;}
body.ttgr-cat-nav-open{overflow:hidden;}
.ttgr-cat-nav.is-open{opacity:1!important;visibility:visible!important;pointer-events:auto!important;}
.ttgr-cat-close-btn{cursor:pointer;}
.ttgr-cat-nav{cursor:pointer;}
.ttgr-cat-list-content,.ttgr-cat-list{cursor:auto;}

/* Footer visual rhythm after restoring source sequence: Links / Explore / Contact / Brand. */
.tt-footer .tt-row{row-gap:42px;}
.dev-footer-brand .tt-footer-widget-list{display:flex;flex-direction:column;align-items:flex-start;gap:34px;}
.dev-footer-brand .tt-footer-logo img{max-width:132px;}
.dev-footer-contact-list .tt-social-buttons ul{display:flex;gap:28px;align-items:center;margin-top:22px;}
.dev-footer-contact-list .tt-social-buttons a{font-size:24px;}
@media(min-width:1200px){.dev-footer-brand{padding-left:clamp(10px,3vw,60px);}}


/* v1.0.9 final work archive header fix: use the original source-centred header flow and keep grid below the hero. */
.dev-portfolio-archive-header.ph-center{
  min-height:100vh!important;
  min-height:100svh!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding-top:0!important;
}
.admin-bar .dev-portfolio-archive-header.ph-center{
  min-height:calc(100vh - 32px)!important;
}
.dev-portfolio-archive-header.ph-center .page-header-inner.tt-wrap{
  max-width:none!important;
  padding-left:100px!important;
  padding-right:100px!important;
  padding-top:150px!important;
  padding-bottom:80px!important;
  display:flex!important;
  justify-content:center!important;
}
.dev-portfolio-archive-header.ph-center .ph-caption{
  display:block!important;
  text-align:center!important;
  max-width:980px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.dev-portfolio-archive-header.ph-center .ph-caption-subtitle{
  display:block!important;
  margin:0 0 40px!important;
  align-self:auto!important;
  font-size:calc(15px + .2vw)!important;
  letter-spacing:1px!important;
  text-transform:uppercase!important;
}
.dev-portfolio-archive-header.ph-center .ph-caption-title{
  display:block!important;
  font-size:clamp(64px,12vw,230px)!important;
  line-height:.9!important;
  letter-spacing:0!important;
  margin:0!important;
  text-align:center!important;
}
.dev-portfolio-archive-header.ph-center .ph-caption-description{
  display:block!important;
  margin:30px auto 0!important;
  max-width:700px!important;
  text-align:center!important;
  font-size:19px!important;
  line-height:1.2!important;
  text-transform:uppercase!important;
}
.dev-portfolio-archive-header.ph-center .ph-mask-inner{
  justify-content:center!important;
  padding-left:0!important;
  padding-right:0!important;
}
.dev-portfolio-archive-header.ph-center .ph-mask .ph-caption{
  max-width:980px!important;
}
.archive.post-type-archive-dev_project #tt-page-content > .tt-section,
.tax-project_category #tt-page-content > .tt-section{
  padding-top:clamp(90px,9vw,150px)!important;
}
@media(max-width:1500px){
  .dev-portfolio-archive-header.ph-center .page-header-inner.tt-wrap{padding-left:100px!important;padding-right:100px!important;}
}
@media(max-width:768px){
  .dev-portfolio-archive-header.ph-center .page-header-inner.tt-wrap{padding-left:15px!important;padding-right:15px!important;padding-top:80px!important;padding-bottom:80px!important;}
  .dev-portfolio-archive-header.ph-center .ph-caption-title{font-size:clamp(64px,22vw,120px)!important;}
}
