/*
Theme Name: Tektel Advisor
Description: GeneratePress child theme for Tektel. Trusted advisor, hometown feel.
Author: Tektel
Template: generatepress
Version: 0.2.0
Text Domain: tektel-advisor
*/
@font-face{font-family:Fraunces;font-weight:600;font-style:normal;font-display:swap;src:url(fonts/fraunces-600.woff2) format("woff2")}
@font-face{font-family:Inter;font-weight:400 600;font-style:normal;font-display:swap;src:url(fonts/inter-latin.woff2) format("woff2")}
@font-face{font-family:"Fraunces Fb";src:local("Georgia");size-adjust:104%;ascent-override:90%;descent-override:23%;line-gap-override:0}
@font-face{font-family:"Inter Fb";src:local("Arial");size-adjust:107%;ascent-override:90%;descent-override:22%;line-gap-override:0}
:root{--tt-bg:#FAF6EF;--tt-alt:#F1EADD;--tt-surf:#FFF;--tt-ink:#1F2430;--tt-soft:#4B5163;--tt-acc:#3F56CA;--tt-accd:#2C3E9E;--tt-warm:#9A4A22;--tt-night:#161B33;--tt-line:#DDD3C1;--tt-ok:#1B6B3A;--tt-err:#B42318;
--tt-head:"Fraunces","Fraunces Fb",Georgia,serif;--tt-body:"Inter","Inter Fb",system-ui,Arial,sans-serif;
--s-1:clamp(.875rem,.85rem + .1vw,.9375rem);--s0:clamp(1rem,.97rem + .2vw,1.125rem);--s1:clamp(1.25rem,1.15rem + .5vw,1.5rem);--s2:clamp(1.5rem,1.3rem + 1vw,2.125rem);--s3:clamp(1.875rem,1.5rem + 1.9vw,3rem);--s4:clamp(2.25rem,1.6rem + 3.2vw,4rem);
--sp-m:clamp(24px,1.2rem + 1.5vw,48px);--sp-l:clamp(48px,2rem + 5vw,112px);--measure:42rem;--wide:72rem;--r:8px;--sh:0 8px 24px rgba(31,36,48,.07);--sh2:0 2px 4px rgba(31,36,48,.08),0 16px 32px rgba(31,36,48,.12);--ease:cubic-bezier(.2,.7,.2,1)}
html{scroll-behavior:smooth}
[id]{scroll-margin-top:96px}
::selection{background:var(--tt-acc);color:#fff}
body,.site,.site-content{background:var(--tt-bg)}
body{color:var(--tt-ink);font-family:var(--tt-body);font-size:var(--s0);line-height:1.65;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-family:var(--tt-head);color:var(--tt-ink);font-weight:600;line-height:1.15;letter-spacing:-.01em;text-wrap:balance}
h1{font-size:var(--s4)}h2{font-size:var(--s3)}h3{font-size:var(--s1)}
p{text-wrap:pretty}
a{color:var(--tt-accd);text-underline-offset:3px}a:hover{color:var(--tt-acc)}
:focus-visible{outline:3px solid var(--tt-acc);outline-offset:3px;border-radius:4px}
.tt-cta :focus-visible,.site-footer :focus-visible{outline-color:#fff}
.skip-link.screen-reader-text:focus{background:var(--tt-night);color:#fff;padding:12px 24px;border-radius:var(--r);z-index:100000}
a[href^="tel:"]{white-space:nowrap}
@media(max-width:767px){.entry-content a[href^="tel:"],.tt-footer a[href^="tel:"]{display:inline-flex;align-items:center;min-height:44px;font-weight:600}}
.page .site-content{display:block}.page .content-area{width:100%}
.page .inside-article,.page.separate-containers .inside-article{padding:0;background:transparent}
.page .site-main>article,.page .entry-content{margin:0}.page .grid-container{max-width:none}.page .entry-header,.page .sidebar{display:none}
/* header */
.site-header{position:sticky;top:0;z-index:50;background:rgba(250,246,239,.96);border-bottom:1px solid var(--tt-line);transition:box-shadow .25s var(--ease)}
.admin-bar .site-header{top:32px}
.tt-scrolled .site-header{box-shadow:0 4px 20px rgba(31,36,48,.1)}
.site-header .inside-header{align-items:center;padding:16px 20px;transition:padding .25s var(--ease)}
.tt-scrolled .site-header .inside-header{padding-top:8px;padding-bottom:8px}
.site-logo img,.header-image{height:44px;width:auto;aspect-ratio:1024/241;transition:height .25s var(--ease)}
.tt-scrolled .header-image,.tt-scrolled .site-logo img{height:36px}
.main-navigation,.main-navigation ul ul,.main-navigation .main-nav ul li a{background:transparent}
.main-navigation .inside-navigation{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px}
.main-navigation .main-nav ul li a{font-weight:500;color:var(--tt-ink);font-size:.975rem;transition:color .15s}
.main-navigation .main-nav ul li:hover>a,.main-navigation .main-nav ul li[class*="current-menu-"]>a{color:var(--tt-accd);background:transparent}
.main-navigation ul ul{background:var(--tt-surf);box-shadow:var(--sh);border:1px solid var(--tt-line);border-radius:0 0 var(--r) var(--r)}
.menu-toggle{color:var(--tt-ink);min-height:44px;min-width:44px}
@keyframes ttdrop{from{opacity:0;transform:translateY(-8px)}}
.main-navigation.toggled .main-nav>ul{animation:ttdrop .25s var(--ease)}
@media(max-width:1023px){.main-navigation .main-nav{flex:1 0 100%;order:5}.main-navigation.toggled .main-nav>ul{background:var(--tt-surf);border:1px solid var(--tt-line);border-radius:var(--r);margin-top:8px}.main-navigation .main-nav ul li a{min-height:44px;display:flex;align-items:center}}
.tt-hcta{display:flex;align-items:center;gap:16px;white-space:nowrap}
.tt-hcta__num{min-height:44px;align-items:center;font-weight:600;color:var(--tt-ink);text-decoration:none;display:none}
.tt-hcta__ico{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:var(--tt-accd);color:#fff}
.tt-hcta__ico:hover{background:var(--tt-night);color:#fff}
.tt-hcta .tt-btn{display:none}
@media(min-width:600px){.tt-hcta__ico{display:none}.tt-hcta .tt-btn,.tt-hcta__num{display:inline-flex}}
@media(max-width:1023px) and (min-width:600px){.tt-hcta__num{display:none}}
/* buttons */
.wp-block-button__link,.tt-btn{font-family:var(--tt-body);font-weight:600;font-size:1rem;background:var(--tt-accd);color:#fff;border:2px solid var(--tt-accd);border-radius:999px;padding:12px 24px;min-height:44px;align-items:center;text-decoration:none;line-height:1.2;transition:background .15s,color .15s,transform .2s var(--ease),box-shadow .2s var(--ease)}
.wp-block-button__link:hover,.wp-block-button__link:focus-visible,.tt-btn:hover{background:var(--tt-night);border-color:var(--tt-night);color:#fff;transform:translateY(-2px);box-shadow:var(--sh2)}
.wp-block-button__link:active,.tt-btn:active{transform:none;box-shadow:none}
.is-style-outline>.wp-block-button__link{background:transparent;color:var(--tt-accd);border-color:var(--tt-accd)}
.is-style-outline>.wp-block-button__link:hover{background:var(--tt-accd);color:#fff}
.tt-btn--s{padding:8px 20px;font-size:.95rem}
/* sections */
.tt-section{padding:var(--sp-l) 20px;margin:0}
.tt-section>*{max-width:var(--measure);margin-left:auto;margin-right:auto}
.tt-section>.wp-block-columns,.tt-section>.wp-block-latest-posts{max-width:var(--wide)}
.tt-section h2{margin-top:0;margin-bottom:24px}
.tt-section p{margin-top:0;margin-bottom:1.1em}
.tt-section .wp-block-buttons{gap:12px;margin-top:24px}
.tt-section ul{padding-left:1.2rem}
.tt-hero{padding-top:clamp(48px,2rem + 6vw,128px);padding-bottom:clamp(48px,2rem + 6vw,128px);background-color:var(--tt-bg);background-image:linear-gradient(95deg,var(--tt-bg) 0,rgba(250,246,239,.94) 48%,rgba(250,246,239,.2) 100%),var(--tt-hero-image,none);background-size:cover;background-position:center right;border-bottom:1px solid var(--tt-line)}
.tt-hero>*{max-width:var(--wide)}
.tt-hero h1{max-width:20ch;margin:0 auto 16px 0}
.tt-hero p{font-size:var(--s1);color:var(--tt-soft);max-width:38rem;line-height:1.5}
.tt-hero>.wp-block-buttons,.tt-hero>p,.tt-hero>h1{margin-left:max(0px,calc((100% - var(--wide))/2))}
.tt-features,.tt-testimonial{background:var(--tt-alt)}
.tt-features .wp-block-columns{gap:24px;margin-bottom:24px}
.tt-card{background:var(--tt-surf);border:1px solid var(--tt-line);border-top:4px solid var(--tt-acc);border-radius:var(--r);padding:24px;box-shadow:var(--sh);transition:transform .25s var(--ease),box-shadow .25s var(--ease)}
.tt-card:hover{transform:translateY(-4px);box-shadow:var(--sh2)}
.tt-card h3{margin:0 0 8px}.tt-card p{margin:0;color:var(--tt-soft);font-size:.975rem}
.tt-story>h2::before{content:"Case story";display:block;font:600 var(--s-1)/1 var(--tt-body);letter-spacing:.12em;text-transform:uppercase;color:var(--tt-warm);margin-bottom:12px}
.tt-story p:first-of-type{font-family:var(--tt-head);font-size:var(--s1);line-height:1.5}
.tt-testimonial{text-align:center}
.tt-testimonial blockquote{border:0;padding:0}
.tt-testimonial blockquote p{font-family:var(--tt-head);font-size:var(--s2);line-height:1.35;color:var(--tt-ink)}
.tt-testimonial cite{display:block;margin-top:16px;font:600 var(--s-1)/1.4 var(--tt-body);letter-spacing:.06em;text-transform:uppercase;color:var(--tt-soft)}
.tt-faq details{border-bottom:1px solid var(--tt-line);padding:8px 0;max-width:var(--measure);margin:0 auto;interpolate-size:allow-keywords}
.tt-faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:44px;padding:8px 0;font:600 var(--s1)/1.3 var(--tt-head)}
.tt-faq summary::-webkit-details-marker{display:none}
.tt-faq summary::after{content:"";flex:none;width:10px;height:10px;border:solid var(--tt-accd);border-width:0 2px 2px 0;transform:rotate(45deg);transition:transform .25s var(--ease)}
.tt-faq details[open] summary::after{transform:rotate(-135deg)}
.tt-faq details::details-content{block-size:0;overflow:hidden;transition:block-size .3s var(--ease),content-visibility .3s allow-discrete}
.tt-faq details[open]::details-content{block-size:auto}
.tt-faq details p{margin:0 0 16px;color:var(--tt-soft)}
.tt-cta{background:var(--tt-night);color:var(--tt-bg);text-align:center}
.tt-cta h2,.tt-cta p{color:var(--tt-bg)}.tt-cta a:not(.wp-block-button__link){color:#fff}
.tt-cta .wp-block-buttons{justify-content:center}
.tt-cta .wp-block-button__link{background:var(--tt-bg);color:var(--tt-night);border-color:var(--tt-bg)}
.tt-cta .wp-block-button__link:hover{background:#fff;border-color:#fff;color:var(--tt-night)}
.tt-cta .is-style-outline>.wp-block-button__link{background:transparent;color:var(--tt-bg)}
.tt-cta .is-style-outline>.wp-block-button__link:hover{background:var(--tt-bg);color:var(--tt-night)}
.tt-features>h2,.tt-latest-wrap>h2{max-width:var(--wide)}
.wp-block-latest-posts.tt-latest{display:grid;gap:24px;padding:0;list-style:none;grid-template-columns:1fr}
@media(min-width:768px){.wp-block-latest-posts.tt-latest{grid-template-columns:repeat(3,1fr)}}
.tt-latest li{background:var(--tt-surf);border:1px solid var(--tt-line);border-radius:var(--r);overflow:hidden;margin:0;display:flex;flex-direction:column;transition:transform .25s var(--ease),box-shadow .25s var(--ease)}
.tt-latest li:hover{transform:translateY(-4px);box-shadow:var(--sh2)}
.tt-latest .wp-block-latest-posts__featured-image img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;display:block}
.tt-latest a.wp-block-latest-posts__post-title{display:block;font:600 var(--s1)/1.25 var(--tt-head);color:var(--tt-ink);text-decoration:none;padding:16px 24px 0}
.tt-latest a.wp-block-latest-posts__post-title{min-height:44px}
.tt-latest a.wp-block-latest-posts__post-title:hover{color:var(--tt-accd)}
.tt-latest .wp-block-latest-posts__post-date{padding:8px 24px 0;font-size:var(--s-1);color:var(--tt-soft)}
.tt-latest .wp-block-latest-posts__post-excerpt{padding:8px 24px 24px;font-size:.95rem;color:var(--tt-soft)}
/* reveal (JS adds .tt-js and .tt-rv/.in; reduced motion never gets .tt-js) */
.tt-js .tt-rv{opacity:0;transform:translateY(16px);transition:opacity .35s var(--ease),transform .35s var(--ease);transition-delay:calc(var(--i,0)*70ms)}
.tt-js .tt-rv.in{opacity:1;transform:none}
/* footer */
.site-footer,.site-info{background:var(--tt-night);color:var(--tt-bg)}
.site-info{padding:0;text-align:left}.site-footer a{color:#fff}
.tt-footer{max-width:var(--wide);margin:0 auto;padding:var(--sp-m) 20px 24px}
.tt-footer__grid{display:grid;gap:32px;grid-template-columns:1fr}
@media(min-width:768px){.tt-footer__grid{grid-template-columns:1.4fr 1fr 1fr 1fr}}
.tt-footer h2{font:600 var(--s-1)/1.2 var(--tt-body);letter-spacing:.12em;text-transform:uppercase;color:#C9CCE6;margin:0 0 8px}
.tt-footer ul{list-style:none;margin:0;padding:0}
.tt-footer li a,.tt-footer p a{display:inline-flex;align-items:center;min-height:44px}
.tt-footer p{margin:0 0 8px;color:var(--tt-bg);font-size:.95rem}
.tt-footer__tag{font-family:var(--tt-head);font-size:var(--s1)!important;line-height:1.3;color:#fff!important}
.tt-footer__legal{border-top:1px solid rgba(250,246,239,.2);margin-top:24px;padding-top:16px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px}
.tt-footer__legal p{color:#C9CCE6;font-size:var(--s-1)}
.tt-top{position:fixed;right:16px;bottom:16px;width:44px;height:44px;border-radius:50%;border:0;background:var(--tt-accd);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:var(--sh2);opacity:0;transform:translateY(12px);pointer-events:none;transition:opacity .25s,transform .25s var(--ease),background .15s;z-index:60}
.tt-top.is-on{opacity:1;transform:none;pointer-events:auto}
/* 404 */
.error404 .site-main{max-width:var(--measure);margin:0 auto;padding:var(--sp-l) 20px;text-align:center}
/* Gravity Forms */
.gform_wrapper{--gf-color-primary:var(--tt-accd);--gf-radius:var(--r);--gf-ctrl-border-color:#8B8472;--gf-ctrl-radius:var(--r)}
.gform_wrapper .gfield_label,.gform_wrapper legend.gfield_label{font:600 .95rem/1.4 var(--tt-body);color:var(--tt-ink)}
.gform_wrapper input:not([type=checkbox],[type=radio],[type=submit]),.gform_wrapper textarea,.gform_wrapper select{font:inherit;min-height:48px;padding:12px 16px;background:var(--tt-surf);border:1px solid #8B8472;border-radius:var(--r);color:var(--tt-ink);transition:border-color .15s,box-shadow .15s}
.gform_wrapper input:focus,.gform_wrapper textarea:focus,.gform_wrapper select:focus{border-color:var(--tt-acc);box-shadow:0 0 0 3px rgba(63,86,202,.25);outline:0}
.gform_wrapper input:user-invalid,.gform_wrapper textarea:user-invalid,.gform_wrapper .gfield_error input,.gform_wrapper .gfield_error textarea{border-color:var(--tt-err);box-shadow:0 0 0 3px rgba(180,35,24,.15)}
.gform_wrapper input:user-valid:not([type=submit]):not(:placeholder-shown){border-color:var(--tt-ok)}
.gform_wrapper .gfield_validation_message,.gform_wrapper .validation_message,.gform_wrapper .gform_validation_errors h2{color:var(--tt-err);font-size:.95rem;font-weight:600}
.gform_wrapper .gform_validation_errors{border:1px solid var(--tt-err);border-radius:var(--r);background:#FEF3F2}
.gform_wrapper .gform_button,.gform_wrapper input[type=submit]{background:var(--tt-accd);color:#fff;border:2px solid var(--tt-accd);border-radius:999px;padding:12px 32px;min-height:48px;font-weight:600;cursor:pointer;transition:background .15s,transform .2s var(--ease),box-shadow .2s var(--ease)}
.gform_wrapper .gform_button:hover{background:var(--tt-night);transform:translateY(-2px);box-shadow:var(--sh2)}
.gform_confirmation_message{background:#ECFDF3;border:1px solid var(--tt-ok);border-radius:var(--r);padding:24px;color:var(--tt-ink)}
@media(max-width:420px){.header-image,.tt-scrolled .header-image{height:34px}}
@media(prefers-reduced-motion:reduce){*,::before,::after{animation:none!important;transition:none!important}}
@media print{.site-header,.tt-top,.tt-footer__grid,.tt-hcta,.main-navigation,.wp-block-buttons,.tt-cta{display:none!important}body,.site,.site-content,.tt-section{background:#fff!important;color:#000!important}.tt-section{padding:16px 0}a{color:#000}a[href^="http"]::after{content:" (" attr(href) ")";font-size:.85em;word-break:break-all}.tt-js .tt-rv{opacity:1;transform:none}}
/* Audit fixes 2026-11-10: 44px tap targets everywhere, readable logo link, roomier meta links, bigger checkboxes */
.main-navigation .main-nav ul li a{min-width:44px;text-align:center}
.main-navigation .main-nav ul ul li a{min-height:44px;display:flex;align-items:center}
.site-logo a,.site-branding a{display:inline-flex;align-items:center;min-height:44px}
.tt-top{width:44px!important;height:44px!important}
.entry-meta a,.cat-links a,.tags-links a,.comments-link a{display:inline-block;padding:12px 4px;margin:-12px 0}
.gform_wrapper input[type=checkbox],.gform_wrapper input[type=radio]{width:20px;height:20px;accent-color:var(--tt-accd)}
.gform_wrapper .gchoice label{min-height:44px;display:inline-flex;align-items:center}
.tt-footer a{display:inline-flex;align-items:center;min-height:44px;min-width:44px}
/* Round 1 audit fixes */
.site-header,.tt-scrolled .site-header{background:var(--tt-bg)!important}
.tt-scrolled .site-header{box-shadow:0 4px 20px rgba(31,36,48,.1)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.tt-top svg{width:20px;height:20px;fill:none;stroke:#fff;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;flex:none}
.page .featured-image,.page .page-header-image,.page .page-header-image-single{display:none}
@media(max-width:599px){.site-header .inside-header{justify-content:flex-start;flex-wrap:nowrap;gap:8px;padding:12px 16px}.main-navigation{flex:0 0 auto;width:auto;margin-left:auto}.site-logo{flex:none;margin-right:12px}.site-header .main-navigation .main-nav{position:absolute;left:16px;right:16px;top:100%;flex:none}.main-navigation .inside-navigation{flex-wrap:nowrap;padding:0;gap:4px}.tt-hcta{order:1;gap:0}.tt-hcta__num,.tt-hcta .tt-btn{display:none!important}.tt-hcta__ico{display:inline-flex}.menu-toggle{order:2;margin:0;padding:0 12px;line-height:44px}}
.inside-navigation .site-logo img,.navigation-branding img{width:auto!important;height:50px!important;aspect-ratio:auto}
.entry-meta,.entry-meta a,.byline,.posted-on,.cat-links,.tags-links{color:var(--tt-soft)}
