/* Trompette theme — design v2 (oct 2026)
   Palette is STRICT (brand guide, section 2): #000000 #404041 #6f6f6f #eeeeee #ffffff.
   Type: Jost, self-hosted. Class names map onto core Gutenberg blocks (className). */

@font-face{font-family:"Jost";font-style:normal;font-display:swap;font-weight:100 900;src:url(../fonts/jost-latin-ext-wght-normal.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Jost";font-style:normal;font-display:swap;font-weight:100 900;src:url(../fonts/jost-latin-wght-normal.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Jost";font-style:italic;font-display:swap;font-weight:100 900;src:url(../fonts/jost-latin-ext-wght-italic.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Jost";font-style:italic;font-display:swap;font-weight:100 900;src:url(../fonts/jost-latin-wght-italic.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

:root{
  --t-black:#000000;--t-graphite:#404041;--t-fog:#6f6f6f;--t-paper:#eeeeee;--t-white:#ffffff;
  --t-rule:#d6d6d6;--t-rule-dark:#cfcfcf;
  --t-font:"Jost","Futura","Century Gothic",system-ui,sans-serif;
  --t-s-sm:15px;--t-s-body:18px;--t-s-lead:21px;--t-s-h4:24px;--t-s-h3:32px;
  --t-s-h2:clamp(34px,4.2vw,48px);--t-s-h1:clamp(44px,7vw,98px);
  --t-wrap:1280px;--t-gutter:clamp(16px,4vw,48px);--t-section:clamp(72px,10vw,136px);--t-bar:8px;
}

/* ---------- base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body.t-page{margin:0;font-family:var(--t-font);font-size:var(--t-s-body);line-height:1.6;color:var(--t-black);background:var(--t-white);font-weight:400;-webkit-font-smoothing:antialiased}
.t-page :where(h1,h2,h3,h4,h5,h6){font-family:var(--t-font);color:inherit;margin:0;letter-spacing:-0.02em;text-wrap:balance;font-weight:700;line-height:1.2}
.t-page :where(p,figure,blockquote,ul,ol){margin:0}
.t-page :where(img){max-width:100%;height:auto;display:block}
.t-page a{color:inherit}
.t-page :focus-visible{outline:2px solid currentColor;outline-offset:3px}
.t-page ::selection{background:var(--t-black);color:var(--t-white)}
.t-dark ::selection{background:var(--t-white);color:var(--t-black)}
.t-page .wp-block-image{margin:0}
.t-wrap{max-width:var(--t-wrap);margin-inline:auto !important;padding-inline:var(--t-gutter);width:100%}
.screen-reader-text,.t-sr{position:absolute !important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.t-skip{position:absolute;left:12px;top:-60px;z-index:100;background:var(--t-black);color:var(--t-white)!important;padding:10px 16px;text-decoration:none}
.t-skip:focus{top:12px}
.t-dark{background:var(--t-black);color:var(--t-white)}
.t-h2,.t-sec__head h2{font-size:var(--t-s-h2);line-height:1.14}
.t-lead{font-size:var(--t-s-lead);line-height:1.55;color:var(--t-graphite);max-width:40ch}
.t-dark .t-lead{color:var(--t-paper)}
.t-link a,a.t-link{font-weight:600;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:5px}
.t-link a:hover{text-decoration-thickness:3px}
.t-small{font-size:15px !important;color:#cfcfcf}

/* ---------- buttons (core/button) ---------- */
.t-btn,.t-page .wp-block-button__link,.t-page .wpcf7-submit{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 26px;font:600 16px/1 var(--t-font);letter-spacing:.01em;text-decoration:none;border:2px solid var(--t-black);border-radius:0;background:var(--t-black);color:var(--t-white)!important;cursor:pointer;transition:background-color .15s,color .15s,border-color .15s}
.t-btn:hover,.t-page .wp-block-button__link:hover{background:var(--t-graphite);border-color:var(--t-graphite)}
.t-page .is-style-outline>.wp-block-button__link,.t-btn--ghost{background:transparent;color:var(--t-black)!important;border-color:var(--t-black)}
.t-page .is-style-outline>.wp-block-button__link:hover{background:var(--t-black);color:var(--t-white)!important}
.t-dark .wp-block-button__link,.t-dark .wpcf7-submit,.t-dark .t-btn{background:var(--t-white);border-color:var(--t-white);color:var(--t-black)!important}
.t-dark .wp-block-button__link:hover,.t-dark .wpcf7-submit:hover{background:var(--t-paper);border-color:var(--t-paper)}
.t-dark .is-style-outline>.wp-block-button__link{background:transparent;color:var(--t-white)!important;border-color:var(--t-white)}
.t-dark .is-style-outline>.wp-block-button__link:hover{background:var(--t-white);color:var(--t-black)!important}
.t-page .wp-block-buttons{display:flex;flex-wrap:wrap;gap:14px}
.t-actions{margin-top:40px}

/* ---------- header ---------- */
.t-header{position:sticky;top:0;z-index:40;background:var(--t-white);border-bottom:1px solid var(--t-paper)}
.admin-bar .t-header{top:32px}
@media (max-width:782px){.admin-bar .t-header{top:0}}
.t-header__row{display:flex;align-items:center;gap:32px;height:76px}
.t-header__logo{display:block;flex:none}
.t-header__logo img{height:44px;width:auto;display:block}
.t-nav{margin-left:auto}
.t-nav ul{list-style:none;margin:0;padding:0;display:flex;gap:28px}
.t-nav a{font-size:16px;font-weight:500;text-decoration:none;color:var(--t-black);padding:6px 0;border-bottom:2px solid transparent}
.t-nav a:hover,.t-nav .current-menu-item>a,.t-nav .current_page_item>a,.t-nav .current-menu-ancestor>a{border-bottom-color:var(--t-black)}
.t-nav .sub-menu{display:none}
.t-header__phone{font-weight:600;font-size:16px;text-decoration:none;white-space:nowrap}
.t-header__cta{min-height:44px;padding:0 20px;font-size:15px}
.t-menu-btn{display:none;margin-left:auto;background:none;border:2px solid var(--t-black);height:44px;padding:0 14px;font:600 15px/1 var(--t-font);cursor:pointer;color:var(--t-black)}
.t-mobile{display:none}
.t-mobile ul{list-style:none;margin:0;padding:0}
@media (max-width:1020px){
  .t-nav,.t-header__phone,.t-header__cta{display:none}
  .t-menu-btn{display:inline-flex;align-items:center}
  .t-mobile[data-open="true"]{display:block;border-top:1px solid var(--t-paper);padding:8px 0 24px}
  .t-mobile a{display:block;padding:14px 0;font-size:20px;font-weight:500;text-decoration:none;border-bottom:1px solid var(--t-paper)}
  .t-mobile .t-btn{display:flex;margin-top:20px;width:100%;border-bottom:2px solid var(--t-black)}
}

/* Service switcher (rendered by the theme on the three service pages) */
.t-svcnav{background:var(--t-paper);border-bottom:1px solid #dcdcdc}
.t-svcnav ul{list-style:none;margin:0;padding:0;display:flex;gap:4px 32px;flex-wrap:wrap}
.t-svcnav a{display:block;padding:14px 0 12px;font-size:16px;font-weight:500;text-decoration:none;color:var(--t-graphite);border-bottom:3px solid transparent}
.t-svcnav a:hover{color:var(--t-black)}
.t-svcnav a[aria-current="page"]{color:var(--t-black);font-weight:700;border-bottom-color:var(--t-black)}
.t-svcnav__label{padding:14px 0 12px;color:var(--t-fog);font-size:16px}
@media (max-width:600px){.t-svcnav ul{flex-wrap:nowrap;overflow-x:auto;gap:24px;scrollbar-width:none}.t-svcnav__label{display:none}.t-svcnav a{white-space:nowrap}}

/* ---------- home hero ---------- */
.t-hero{position:relative;overflow:hidden;isolation:isolate}
.t-hero__media{position:absolute !important;inset:0 0 0 38%;z-index:-1;margin:0 !important}
.t-hero__media video{width:100%;height:100%;object-fit:cover;object-position:30% 50%;filter:grayscale(1) contrast(1.08);display:block}
.t-hero__media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#000 0%,rgba(0,0,0,.6) 28%,rgba(0,0,0,0) 60%)}
.t-hero__inner{padding-block:clamp(72px,11vw,150px) clamp(64px,8vw,112px);min-height:min(86vh,820px);display:flex;flex-direction:column;justify-content:flex-end}
.t-hero h1{font-size:var(--t-s-h1);line-height:1.12;letter-spacing:-0.035em;max-width:11.5ch}
.t-hero__sub{margin-top:36px !important;font-size:var(--t-s-lead);line-height:1.5;color:var(--t-paper);max-width:44ch}
.t-hero__partner{margin-top:48px !important;font-size:var(--t-s-sm);color:var(--t-paper)}
.t-hero__partner a{text-decoration:none;display:inline-flex;align-items:center;gap:14px}
.t-hero__partner a::before{content:"";width:44px;height:44px;flex:none;background:#fff url(../img/google-partner.svg) center/36px no-repeat;border-radius:4px}
.t-hero__partner a:hover{text-decoration:underline}
@media (max-width:760px){
  .t-hero__media{inset:0;opacity:.55}
  .t-hero__media::after{background:linear-gradient(0deg,#000 10%,rgba(0,0,0,.2) 100%)}
  .t-hero__inner{min-height:auto;padding-top:160px}
}
@media (prefers-reduced-motion:no-preference){
  .t-hero h1,.t-hero__sub,.t-hero .t-actions,.t-hero__partner{animation:t-rise .9s cubic-bezier(.2,.7,.2,1) both}
  .t-hero__sub{animation-delay:.12s}.t-hero .t-actions{animation-delay:.22s}.t-hero__partner{animation-delay:.32s}
  .t-hero__media{animation:t-fade 1.6s ease both}
}
@keyframes t-rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes t-fade{from{opacity:0}to{opacity:1}}

/* ---------- services trio ---------- */
.t-services{padding-top:var(--t-section)}
.t-services__head{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:32px;align-items:end;margin-bottom:56px}
.t-services__head p{color:var(--t-graphite);max-width:44ch}
.t-trio{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:var(--t-bar) solid var(--t-black)}
.t-svc{position:relative;display:flex;flex-direction:column;padding:40px 36px 44px;border-right:1px solid var(--t-rule)}
.t-svc:first-child{padding-left:0}
.t-svc:last-child{border-right:0;padding-right:0}
.t-svc h3{font-size:var(--t-s-h3);line-height:1.1}
.t-svc h3 a{text-decoration:none}
.t-svc h3 a::after{content:"";position:absolute;inset:0}
.t-svc__promise{margin-top:16px !important;color:var(--t-graphite);max-width:34ch}
.t-svc ul{list-style:none;margin:28px 0 0;padding:0;display:grid;gap:12px;font-size:16px}
.t-svc li{padding-left:22px;position:relative}
.t-svc li::before{content:"";position:absolute;left:0;top:.72em;width:10px;height:2px;background:var(--t-black)}
.t-svc__factv{margin-top:auto !important;padding-top:36px;font-size:var(--t-s-h4);font-weight:700;letter-spacing:-0.01em;line-height:1.3}
.t-svc__factl{font-size:var(--t-s-sm);color:var(--t-fog)}
.t-svc__more{margin-top:24px !important;font-weight:600;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:5px}
.t-svc:hover .t-svc__more,.t-svcrow:hover .t-svc__more{text-decoration-thickness:3px}
.t-svc:focus-within,.t-svcrow:focus-within,.t-case:focus-within,.t-post:focus-within{outline:2px solid var(--t-black);outline-offset:4px}
.t-svc:focus-within a:focus-visible,.t-svcrow:focus-within a:focus-visible,.t-case:focus-within a:focus-visible,.t-post:focus-within a:focus-visible{outline:none}
@media (max-width:900px){
  .t-services__head{grid-template-columns:1fr}
  .t-trio{grid-template-columns:1fr;border-top:0}
  .t-svc,.t-svc:first-child,.t-svc:last-child{padding:36px 0;border-right:0;border-top:var(--t-bar) solid var(--t-black)}
}

/* ---------- proof band ---------- */
.t-proof{margin-top:var(--t-section);background:var(--t-graphite)}
.t-proof .t-wrap{display:flex;align-items:center;justify-content:space-between;gap:32px;padding-block:48px}
.t-proof__row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px;flex:1}
.t-fact__v{font-size:var(--t-s-h3);font-weight:700;line-height:1;letter-spacing:-0.02em}
.t-fact__l{margin-top:8px !important;font-size:var(--t-s-sm);color:var(--t-paper);max-width:22ch}
.t-proof__badge{background:var(--t-white);padding:10px 14px;border-radius:4px;flex:none}
.t-proof__badge img{height:56px;width:auto}
@media (max-width:900px){.t-proof .t-wrap{flex-direction:column;align-items:flex-start}.t-proof__row{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ---------- clients ---------- */
.t-clients{background:var(--t-paper);padding-block:clamp(56px,7vw,96px)}
.t-clients__head{display:flex;justify-content:space-between;align-items:baseline;gap:24px;flex-wrap:wrap;margin-bottom:40px}
.t-clients__head h2{font-size:var(--t-s-h4);letter-spacing:-0.01em}
.t-logos{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:1px;background:#dcdcdc;border:1px solid #dcdcdc}
.t-logos figure{background:var(--t-paper);display:flex !important;align-items:center;justify-content:center;aspect-ratio:3/2;padding:18px;margin:0 !important}
.t-logos img{max-height:42px;max-width:100%;width:auto !important;filter:grayscale(1);mix-blend-mode:multiply;opacity:.82}
@media (max-width:1020px){.t-logos{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (max-width:520px){.t-logos{grid-template-columns:repeat(3,minmax(0,1fr))}.t-logos figure{padding:10px}}

/* ---------- generic sections ---------- */
.t-sec{padding-block:var(--t-section)}
.t-sec--paper{background:var(--t-paper)}
.t-sec--flush{padding-top:0}
.t-sec__head{max-width:760px;margin-bottom:56px}
.t-sec__head p{margin-top:18px !important;color:var(--t-graphite);max-width:62ch}
.t-dark .t-sec__head p{color:#cfcfcf}
.t-prose p{max-width:66ch;color:var(--t-graphite)}
.t-prose p+p{margin-top:18px !important}
.t-split{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,6vw,96px);align-items:start}
.t-pull{margin-top:32px !important;font-size:clamp(26px,3vw,38px);font-weight:600;line-height:1.2;letter-spacing:-0.02em;max-width:24ch}
@media (max-width:900px){.t-split{grid-template-columns:1fr}}

/* ---------- steps (real sequences, so numbered) ---------- */
.t-process{padding-block:var(--t-section)}
.t-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px;counter-reset:step}
.t-step{counter-increment:step;border-top:2px solid var(--t-black);padding-top:20px}
.t-step::before{content:counter(step);display:block;font-size:56px;font-weight:300;line-height:1;margin-bottom:20px;color:var(--t-fog);letter-spacing:-0.03em}
.t-step h3{font-size:var(--t-s-h4);line-height:1.2}
.t-step p{margin-top:10px !important;color:var(--t-graphite);font-size:16px}
.t-steps--5{grid-template-columns:repeat(5,minmax(0,1fr));gap:28px}
.t-steps--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.t-steps--days .t-step::before{display:none}
.t-steps--days h3{font-size:26px;font-weight:300;color:var(--t-graphite);margin-bottom:6px}
.t-steps--days p{color:var(--t-black)}
@media (max-width:1020px){.t-steps,.t-steps--5{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:48px}}
@media (max-width:600px){.t-steps,.t-steps--5,.t-steps--3{grid-template-columns:1fr}}

/* ---------- result (home) ---------- */
.t-result{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);min-height:620px}
.t-result__photo{position:relative;min-height:360px}
.t-result__photo img{position:absolute;inset:0;width:100% !important;height:100% !important;object-fit:cover;filter:grayscale(1)}
.t-result__body{padding:clamp(48px,7vw,104px) var(--t-gutter) clamp(48px,7vw,104px) clamp(32px,6vw,96px);display:flex;flex-direction:column;justify-content:center;max-width:760px}
.t-result__quote{font-size:clamp(30px,3.6vw,46px);font-weight:600;line-height:1.14;letter-spacing:-0.02em}
.t-result__note{margin-top:20px !important;color:var(--t-paper);font-size:16px;max-width:52ch}
.t-why{margin-top:56px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;border-top:1px solid var(--t-graphite);padding-top:32px}
.t-why h3{font-size:18px;letter-spacing:0}
.t-why p{margin-top:8px !important;font-size:15px;line-height:1.55;color:#cfcfcf}
@media (max-width:900px){.t-result{grid-template-columns:1fr}.t-result__body{padding-inline:var(--t-gutter)}.t-why{grid-template-columns:1fr}}

/* ---------- blog list (core/latest-posts) + static post cards ---------- */
.t-blog{padding-block:var(--t-section)}
.t-blog__head{display:flex;justify-content:space-between;align-items:end;gap:24px;flex-wrap:wrap;margin-bottom:48px}
.t-page ul.t-posts,.t-posts{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px}
.t-posts li,.t-post{position:relative;border-top:1px solid var(--t-black);padding-top:20px;display:flex;flex-direction:column;margin:0}
.t-posts .wp-block-latest-posts__post-date{order:-1;font-size:var(--t-s-sm);color:var(--t-fog)}
.t-posts .wp-block-latest-posts__post-title,.t-post h3{margin-top:10px;font-size:22px;font-weight:700;line-height:1.25;letter-spacing:-0.01em;text-decoration:none}
.t-posts .wp-block-latest-posts__post-title::after,.t-post h3 a::after{content:"";position:absolute;inset:0}
.t-post h3 a{text-decoration:none}
.t-posts li:hover .wp-block-latest-posts__post-title,.t-post:hover h3 a{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px}
.t-posts .wp-block-latest-posts__post-excerpt,.t-post p{margin-top:12px !important;font-size:16px;color:var(--t-graphite)}
.t-posts .wp-block-latest-posts__post-excerpt p{margin:0}
.t-posts--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.t-more{font-weight:600;color:var(--t-black) !important;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:5px}
@media (max-width:900px){.t-page ul.t-posts,.t-posts,.t-posts--2{grid-template-columns:1fr;gap:32px}}

/* ---------- FAQ (core/details) ---------- */
.t-faq{background:var(--t-paper);padding-block:var(--t-section)}
.t-faq__grid{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:clamp(32px,6vw,96px)}
.t-faq__intro p{margin-top:16px !important;color:var(--t-graphite);max-width:36ch}
.t-faq__intro a{font-weight:600;text-decoration-thickness:2px;text-underline-offset:4px}
.t-faq details,.t-acc details{border-bottom:1px solid var(--t-rule-dark)}
.t-faq details:first-child{border-top:1px solid var(--t-rule-dark)}
.t-faq summary,.t-acc summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:24px;align-items:center;padding:22px 0;font-size:20px;font-weight:600;line-height:1.3}
.t-faq summary::-webkit-details-marker,.t-acc summary::-webkit-details-marker{display:none}
.t-faq summary::after,.t-acc summary::after{content:"";flex:none;width:14px;height:14px;background:linear-gradient(currentColor,currentColor) center/14px 2px no-repeat,linear-gradient(currentColor,currentColor) center/2px 14px no-repeat;transition:transform .2s}
.t-faq details[open] summary::after,.t-acc details[open] summary::after{transform:rotate(45deg)}
.t-faq details p{padding:0 40px 24px 0;color:var(--t-graphite);max-width:62ch}
@media (max-width:900px){.t-faq__grid{grid-template-columns:1fr}}

/* ---------- contact + form (Contact Form 7) ---------- */
.t-contact{padding-block:var(--t-section)}
.t-contact--page{margin-top:64px}
.t-contact__grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(40px,7vw,112px)}
.t-contact .t-lead{margin-top:20px !important}
.t-contact__direct{margin-top:40px;display:grid;gap:6px;font-size:var(--t-s-lead)}
.t-contact__direct a{text-decoration:none;font-weight:600}
.t-contact__direct a:hover{text-decoration:underline;text-underline-offset:5px}
.t-direct__label{color:var(--t-paper);font-size:16px}
.t-form{display:grid;grid-template-columns:1fr 1fr;gap:24px 20px}
.t-field{display:grid;gap:8px}
.t-field--full{grid-column:1/-1}
.t-field label{font-size:15px;font-weight:500;color:var(--t-paper)}
.t-field label span.t-opt{color:var(--t-fog);font-weight:400}
.t-form .wpcf7-form-control-wrap{display:block}
.t-form input[type=text],.t-form input[type=email],.t-form input[type=tel],.t-form select,.t-form textarea{width:100%;font:400 17px/1.4 var(--t-font);color:var(--t-white);background:transparent;border:0;border-bottom:1px solid var(--t-fog);padding:12px 0;border-radius:0;appearance:none}
.t-form select{background-image:linear-gradient(45deg,transparent 50%,#fff 50%),linear-gradient(135deg,#fff 50%,transparent 50%);background-position:calc(100% - 12px) 55%,calc(100% - 6px) 55%;background-size:6px 6px;background-repeat:no-repeat;padding-right:28px}
.t-form select option{color:#000}
.t-form textarea{resize:vertical;min-height:96px;height:96px}
.t-form ::placeholder{color:var(--t-fog)}
.t-form input:focus,.t-form select:focus,.t-form textarea:focus{outline:none;border-bottom:2px solid var(--t-white);padding-bottom:11px}
.t-form .wpcf7-acceptance{font-size:14px;color:var(--t-paper)}
.t-form .wpcf7-acceptance label{display:flex;gap:10px;align-items:flex-start;font-size:14px}
.t-form .wpcf7-acceptance input{margin-top:3px;accent-color:#fff}
.t-form .wpcf7-acceptance a{color:var(--t-white)}
.t-form .wpcf7-list-item{margin:0}
.t-form__foot{grid-column:1/-1;display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-top:8px}
.t-form__foot small{color:var(--t-paper);font-size:14px;max-width:34ch}
.t-form .wpcf7-spinner{margin:0}
.t-formwrap .wpcf7-not-valid-tip{color:var(--t-white);font-size:14px;margin-top:6px;border-left:3px solid var(--t-white);padding-left:8px}
.t-formwrap .wpcf7 form .wpcf7-response-output{margin:24px 0 0;border:0;border-left:4px solid var(--t-white);padding:12px 16px;background:var(--t-graphite);font-size:16px;color:var(--t-white)}
.t-formwrap .wpcf7 form.sent .wpcf7-response-output{border-left-color:var(--t-white)}
.t-formwrap__fallback{border-left:4px solid var(--t-white);padding:16px 20px;background:var(--t-graphite)}
@media (max-width:900px){.t-contact__grid{grid-template-columns:1fr}}
@media (max-width:560px){.t-form{grid-template-columns:1fr}}

/* contact page details */
.t-cdetails{display:grid;gap:32px;margin-top:40px}
.t-cdetails h3{font-size:15px;font-weight:600;color:var(--t-fog);letter-spacing:0;margin-bottom:8px}
.t-cdetails p{font-size:var(--t-s-lead);line-height:1.45}
.t-cdetails a{font-weight:600;text-decoration:none}
.t-cdetails a:hover{text-decoration:underline;text-underline-offset:5px}
.t-contact--page .t-contact__grid>div:last-child>h2{margin-bottom:32px}

/* ---------- footer ---------- */
.t-footer{background:var(--t-black);color:var(--t-white);border-top:1px solid var(--t-graphite);font-size:16px}
.t-footer__grid{display:grid;grid-template-columns:minmax(0,4fr) repeat(3,minmax(0,2fr));gap:40px;padding-block:72px 56px}
.t-footer__brand img{height:48px;width:auto}
.t-footer__brand p{margin-top:20px !important;color:#cfcfcf;font-size:15px;max-width:36ch}
.t-footer h2{font-size:15px;font-weight:600;color:var(--t-fog);letter-spacing:0;margin-bottom:16px}
.t-footer ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.t-footer a{text-decoration:none}
.t-footer a:hover{text-decoration:underline;text-underline-offset:4px}
.t-footer__social{display:flex !important;gap:10px !important;margin-top:24px !important}
.t-footer__social a{display:grid;place-items:center;width:40px;height:40px;border:1px solid var(--t-graphite);border-radius:4px;color:var(--t-white);transition:background .2s,color .2s,border-color .2s}
.t-footer__social a:hover,.t-footer__social a:focus-visible{background:var(--t-white);color:var(--t-black);border-color:var(--t-white);text-decoration:none}
.t-footer__social svg{width:20px;height:20px;display:block}
.t-footer__legal{border-top:1px solid var(--t-graphite);padding-block:24px;display:flex;flex-wrap:wrap;gap:12px 28px;font-size:14px;color:var(--t-fog)}
.t-footer__legal a{color:var(--t-fog)}
@media (max-width:900px){.t-footer__grid{grid-template-columns:1fr 1fr}.t-footer__brand{grid-column:1/-1}}

/* =====================================================================
   Service pages
   ===================================================================== */
.t-shero__grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);min-height:600px}
.t-shero__text{padding:clamp(56px,8vw,112px) clamp(24px,5vw,72px) clamp(56px,7vw,96px) 0;display:flex;flex-direction:column;justify-content:center}
.t-shero h1{font-size:clamp(40px,5.6vw,80px);line-height:1.12;letter-spacing:-0.03em;max-width:14ch}
.t-shero__lead{margin-top:36px !important;font-size:var(--t-s-lead);line-height:1.55;color:var(--t-paper);max-width:46ch}
.t-shero__lead2{margin-top:16px !important;color:#cfcfcf;max-width:52ch}
.t-facts{margin-top:48px;display:flex;flex-wrap:wrap;gap:20px 48px;border-top:1px solid var(--t-graphite);padding-top:24px}
.t-facts .t-fact__v{font-size:30px}
.t-facts .t-fact__l{margin-top:6px !important;color:#cfcfcf}
.t-shero__photo{position:relative;margin:0 calc(-1 * var(--t-gutter)) 0 0 !important}
.t-shero__photo img{position:absolute;inset:0;width:100% !important;height:100% !important;object-fit:cover;filter:grayscale(1)}
@media (min-width:1281px){.t-shero__photo{margin-right:calc((100vw - var(--t-wrap)) / -2 - var(--t-gutter)) !important}}
@media (max-width:900px){
  .t-shero__grid{grid-template-columns:1fr;min-height:0}
  .t-shero__text{padding-right:0}
  .t-shero__photo{order:-1;height:260px;margin-inline:calc(-1 * var(--t-gutter)) !important}
}

/* Pain points: the brand's graphite bar on the left */
.t-pains{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 56px}
.t-pain{border-left:8px solid var(--t-graphite);padding:4px 0 4px 28px}
.t-pain h3{font-size:22px;line-height:1.3;letter-spacing:-0.01em}
.t-pain p{margin-top:10px !important;color:var(--t-graphite);font-size:17px}
@media (max-width:900px){.t-pains{grid-template-columns:1fr}}

/* CTA band */
.t-band{background:var(--t-graphite)}
.t-band__row{display:flex;align-items:center;justify-content:space-between;gap:24px 48px;flex-wrap:wrap;padding-block:48px}
.t-band h2{font-size:clamp(24px,2.6vw,32px);line-height:1.2;max-width:28ch}
.t-band p{margin-top:8px !important;color:var(--t-paper);max-width:56ch}

/* Checklists */
.t-page ul.t-check{list-style:none;margin:0;padding:0;display:grid;gap:10px;font-size:16px}
.t-check li{position:relative;padding-left:26px}
.t-check li::before{content:"";position:absolute;left:2px;top:.42em;width:12px;height:7px;border-left:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(-45deg)}

/* Included groups */
.t-groups{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:40px}
.t-groups--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.t-group{border-top:2px solid var(--t-black);padding-top:20px}
.t-group h3{font-size:20px;line-height:1.25;margin-bottom:18px}
@media (max-width:1020px){.t-groups,.t-groups--3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.t-groups,.t-groups--3{grid-template-columns:1fr}}

/* Expandable lists */
.t-acc{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 56px;align-items:start}
.t-acc details:nth-child(-n+2){border-top:1px solid var(--t-rule)}
.t-acc summary{font-size:22px;font-weight:700;padding:26px 0}
.t-acc__line{color:var(--t-graphite);font-size:17px;margin:-6px 0 16px !important}
.t-acc details>p:not(.t-acc__line){color:var(--t-graphite);max-width:60ch;padding-bottom:28px}
.t-acc details>ul{padding-bottom:28px !important}
@media (max-width:900px){.t-acc{grid-template-columns:1fr}.t-acc details:nth-child(2){border-top:0}}

/* Risk levels */
.t-sec--dark{background:var(--t-black)}
.t-level{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:24px 56px;padding:40px 0;border-top:1px solid var(--t-graphite)}
.t-level:last-child{border-bottom:1px solid var(--t-graphite)}
.t-level__num{font-size:16px;color:var(--t-fog);margin-bottom:8px !important}
.t-level__name h3{font-size:26px;line-height:1.2}
.t-level__name p:not(.t-level__num){margin-top:12px !important;color:#cfcfcf;font-size:16px;max-width:34ch}
.t-level__body h4{font-size:17px;margin:24px 0 10px;letter-spacing:0}
.t-level__body>h4:first-child{margin-top:0}
.t-level__body .t-check li{color:#e6e6e6}
.t-measures{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 40px}
.t-measures h4{margin:0 0 6px}
.t-measures p{font-size:15px;color:#cfcfcf;line-height:1.55}
.t-page .t-sla{margin:0}
.t-sla table{width:100%;border-collapse:collapse;font-size:16px}
.t-page .t-sla td{text-align:left;padding:14px 16px 14px 0;border:0;border-bottom:1px solid var(--t-graphite);vertical-align:top;color:#e6e6e6}
.t-sla tr:first-child td{border-top:1px solid var(--t-graphite)}
.t-sla td:first-child{width:38%;color:var(--t-white)}
@media (max-width:900px){.t-level{grid-template-columns:1fr}.t-measures{grid-template-columns:1fr}}

/* Why list */
.t-why-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 56px}
.t-why-list h3{font-size:20px;line-height:1.3}
.t-why-list p{margin-top:10px !important;color:var(--t-graphite);font-size:17px}
@media (max-width:900px){.t-why-list{grid-template-columns:1fr}}

/* Organic + paid */
.t-duo{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border:2px solid var(--t-black)}
.t-duo>div{padding:clamp(28px,4vw,48px)}
.t-duo>div+div{background:var(--t-black);color:var(--t-white)}
.t-duo h3{font-size:26px;line-height:1.2}
.t-duo p{margin-top:14px !important;font-size:17px;color:var(--t-graphite)}
.t-duo>div+div p{color:#d6d6d6}
@media (max-width:760px){.t-duo{grid-template-columns:1fr}}

/* =====================================================================
   Interior pages
   ===================================================================== */
.t-intro{padding-top:clamp(56px,8vw,112px)}
.t-intro__grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:32px clamp(32px,5vw,80px);align-items:end;padding-bottom:clamp(40px,5vw,64px);border-bottom:var(--t-bar) solid var(--t-black)}
.t-intro h1{font-size:clamp(42px,6.2vw,88px);line-height:1.1;letter-spacing:-0.035em;max-width:13ch}
.t-intro__lead{font-size:var(--t-s-lead);line-height:1.55;color:var(--t-graphite);max-width:44ch}
.t-intro .t-actions{margin-top:28px}
@media (max-width:900px){.t-intro__grid{grid-template-columns:1fr}}

.t-mission{padding-block:clamp(72px,10vw,140px)}
.t-mission__text{font-size:clamp(34px,5vw,68px);font-weight:600;line-height:1.14;letter-spacing:-0.03em;max-width:20ch}

.t-story{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,6vw,96px);align-items:start}
.t-story__aside{position:sticky;top:110px}
.t-timeline{margin-top:32px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 32px}
.t-timeline .t-fact__v{font-size:30px}
.t-timeline .t-fact__l{margin-top:6px !important;color:var(--t-fog)}
.t-story__fig{background:var(--t-paper);display:flex !important;align-items:flex-end;justify-content:center;aspect-ratio:4/5;overflow:hidden;margin-top:32px !important}
.t-story__fig img{height:94% !important;width:auto !important;filter:grayscale(1) contrast(1.05)}
@media (max-width:900px){.t-story{grid-template-columns:1fr}.t-story__aside{position:static}.t-story__fig{display:none !important}}

.t-diff{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(32px,6vw,96px)}
.t-diff__item{border-top:1px solid var(--t-rule-dark);padding:32px 0 40px}
.t-diff__item h3{font-size:24px;line-height:1.25}
.t-diff__item p{margin-top:12px !important;color:var(--t-graphite);font-size:17px;max-width:58ch}
.t-diff__item .t-check{margin-top:16px !important}
@media (max-width:900px){.t-diff{grid-template-columns:1fr}}

.t-svcrow{position:relative;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:24px clamp(32px,6vw,96px);padding:48px 0 56px;border-top:var(--t-bar) solid var(--t-black)}
.t-svcrow:first-child{border-top:0}
.t-svcrow h2{font-size:clamp(34px,4.4vw,56px);line-height:1.08;letter-spacing:-0.03em}
.t-svcrow h2 a{text-decoration:none}
.t-svcrow h2 a::after{content:"";position:absolute;inset:0}
.t-svcrow__also{margin-top:12px !important;color:var(--t-fog);font-size:16px}
.t-svcrow__text{font-size:var(--t-s-lead);line-height:1.5;color:var(--t-graphite);max-width:46ch}
.t-page .t-svcrow__body .t-check{margin-top:24px;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 24px}
@media (max-width:760px){.t-svcrow{grid-template-columns:1fr}.t-page .t-svcrow__body .t-check{grid-template-columns:1fr}}

/* Portfolio */
.t-sec--cases{padding-top:48px}
.t-filter{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:40px}
.t-filter button{font:500 16px/1 var(--t-font);padding:12px 18px;border:1.5px solid var(--t-black);background:transparent;color:var(--t-black);cursor:pointer;border-radius:0}
.t-filter button[aria-pressed="true"]{background:var(--t-black);color:var(--t-white)}
.t-filter button:hover:not([aria-pressed="true"]){background:var(--t-paper)}
.t-filter__count{align-self:center;margin-left:8px;color:var(--t-fog);font-size:15px}
.t-cases{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:56px 40px}
.t-case{position:relative;display:flex;flex-direction:column}
.t-case[hidden]{display:none}
.t-case__tile{background:var(--t-paper);aspect-ratio:4/3;display:flex !important;align-items:center;justify-content:center;padding:15%;margin:0 !important}
.t-case__tile img{max-width:100%;max-height:96px;width:auto !important;filter:grayscale(1);mix-blend-mode:multiply}
.t-case__tile--text{font-size:clamp(24px,2.4vw,32px);font-weight:700;letter-spacing:-0.02em;text-align:center;line-height:1.1;color:var(--t-graphite)}
.t-case__tags{margin-top:20px !important;font-size:15px;color:var(--t-fog)}
.t-case h2{margin-top:6px;font-size:22px;line-height:1.25;letter-spacing:-0.01em}
.t-case h2 a{text-decoration:none}
.t-case h2 a::after{content:"";position:absolute;inset:0}
.t-case:hover h2 a{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px}
.t-case>p:last-child{margin-top:10px !important;font-size:16px;color:var(--t-graphite)}
@media (max-width:1020px){.t-cases{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.t-cases{grid-template-columns:1fr}}

/* =====================================================================
   Blog: index + single article
   ===================================================================== */
.t-archive{padding-bottom:var(--t-section)}
.t-archive .t-posts{margin-top:56px}
.t-posts .t-card__date{order:-1;font-size:var(--t-s-sm);color:var(--t-fog)}
.t-posts .t-card__thumb{order:-2;margin:-20px 0 20px;aspect-ratio:16/10;overflow:hidden;background:var(--t-paper)}
.t-posts .t-card__thumb img{width:100%;height:100%;object-fit:cover}
.t-pagination{margin-top:64px;display:flex;gap:10px;flex-wrap:wrap}
.t-pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:44px;padding:0 12px;border:1.5px solid var(--t-black);text-decoration:none;font-weight:500}
.t-pagination .page-numbers.current{background:var(--t-black);color:var(--t-white)}

.t-article{padding-block:clamp(48px,7vw,96px) var(--t-section)}
.t-article__head{max-width:860px;margin:0 auto 48px}
.t-article__meta{font-size:var(--t-s-sm);color:var(--t-fog);margin-bottom:16px}
.t-article__meta a{color:inherit}
.t-article h1{font-size:clamp(36px,5vw,64px);line-height:1.12;letter-spacing:-0.03em}
.t-article__thumb{max-width:1080px;margin:0 auto 56px}
.t-article__thumb img{width:100%;height:auto}
.t-content{max-width:720px;margin:0 auto;font-size:19px;line-height:1.7}
.t-content>*+*{margin-top:1.1em}
.t-content :where(h2){font-size:clamp(28px,3vw,36px);line-height:1.2;margin-top:1.8em}
.t-content :where(h3){font-size:24px;line-height:1.3;margin-top:1.6em}
.t-content :where(h4){font-size:20px;margin-top:1.4em}
.t-content a{text-decoration-thickness:1.5px;text-underline-offset:3px}
.t-content :where(ul,ol){padding-left:1.3em}
.t-content li+li{margin-top:.4em}
.t-content blockquote{border-left:8px solid var(--t-graphite);padding:4px 0 4px 24px;font-size:22px;font-weight:500}
.t-content figure,.t-content img{max-width:100%;height:auto}
.t-content .wp-block-image{margin-block:2em}
.t-content figcaption{font-size:15px;color:var(--t-fog);margin-top:8px}
.t-content table{width:100%;border-collapse:collapse;font-size:16px}
.t-content th,.t-content td{border-bottom:1px solid var(--t-rule);padding:10px 12px 10px 0;text-align:left}
.t-content .alignwide{max-width:1080px;margin-inline:calc((720px - 1080px) / 2)}
.t-content .alignfull{width:100vw;max-width:100vw;margin-inline:calc(50% - 50vw)}
@media (max-width:1140px){.t-content .alignwide{margin-inline:0;max-width:100%}}
.t-article__foot{max-width:720px;margin:64px auto 0;border-top:var(--t-bar) solid var(--t-black);padding-top:32px}

/* Classic page fallback (pages that are not built from blocks) */
.t-plain{padding-block:clamp(48px,7vw,96px) var(--t-section)}
.t-plain h1{font-size:clamp(36px,5vw,64px);line-height:1.12;letter-spacing:-0.03em;max-width:860px;margin:0 auto 40px}

.t-404{padding-block:var(--t-section)}

/* Industries */
.t-sec--flushtop{padding-top:clamp(48px,6vw,80px)}
.t-industries{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:var(--t-bar) solid var(--t-black)}
.t-industry{font-size:clamp(24px,2.6vw,34px);font-weight:600;letter-spacing:-0.02em;line-height:1.15;padding:32px 24px 32px 0;border-bottom:1px solid var(--t-rule)}
@media (max-width:900px){.t-industries{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.t-industries{grid-template-columns:1fr}.t-industry{padding:22px 0}}
.t-proof--solo{margin-top:0}
.t-proof--solo .t-proof__row{flex:1}

/* Portfolio category archive */
.t-case__tile--photo{padding:0;position:relative;overflow:hidden}
.t-case__tile--photo img.wp-post-image{position:absolute;inset:0;max-height:none;width:100% !important;height:100% !important;object-fit:cover;filter:grayscale(1);mix-blend-mode:normal}
