/* ThinkTank.lk prototype — v3 colours (owner-directed 2026-10-23)
   Layout/type system: v2 (On Think Tanks-style editorial layout, Nunito).
   Colour direction set by the owner: main colour WHITE; theme colours white + blue;
   buttons #205DC8 background with BLACK text; footer BLACK with blue accents. */
:root{
  --tt-blue:#205dc8; --tt-blue-dark:#1a4ca6; --tt-blue-soft:#eaf1fd; --tt-blue-mid:#7aa5e8;
  --tt-ink:#1c1c1c; --tt-muted:#5f6b7a; --tt-line:#dbe4f5;
  --tt-navy:#0e2a47; --tt-green:#2f9e44;
}
body{font-family:"Nunito Sans","Segoe UI",system-ui,Arial,sans-serif;color:var(--tt-ink);background:#ffffff;}
h1,h2,h3,.tt-hero-title{font-family:"Nunito","Segoe UI",sans-serif;font-weight:800;color:var(--tt-blue);letter-spacing:-.01em;line-height:1.08;}
h4,h5,h6{font-family:"Nunito",sans-serif;font-weight:700;color:var(--tt-ink);}
a{color:var(--tt-blue);}
a:hover{color:var(--tt-blue-dark);}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--tt-blue);outline-offset:2px;}
.skip-link{position:absolute;left:-999px;top:0;background:var(--tt-blue);color:#000;padding:.5rem 1rem;z-index:2000;font-weight:700;}
.skip-link:focus{left:0;}
.container{max-width:1160px;}
/* Header — white, sticky */
.tt-header{background:#ffffff;border-bottom:1px solid var(--tt-line);z-index:1030;}
.tt-brand{display:flex;align-items:center;gap:.6rem;text-decoration:none;}
.tt-logo-mark{display:inline-flex;align-items:center;justify-content:center;width:2.4rem;height:2.4rem;background:var(--tt-blue);color:#fff;clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%);font-size:1rem;}
.tt-brand-text{font-family:"Nunito",sans-serif;font-weight:800;color:var(--tt-ink);line-height:1.05;}
.tt-brand-text small{display:block;font-size:.62rem;letter-spacing:.18em;color:var(--tt-muted);font-weight:600;}
.tt-nav .nav-link{color:var(--tt-ink);font-weight:600;font-size:1.02rem;padding:.5rem .8rem;}
.tt-nav .nav-link:hover,.tt-nav .nav-link.active{color:var(--tt-blue);text-decoration:underline;text-underline-offset:5px;}
.tt-cta{font-weight:800;color:#000;text-decoration:none;margin-left:.6rem;white-space:nowrap;}
.tt-cta:hover{color:var(--tt-blue);text-decoration:underline;text-underline-offset:5px;}
.tt-header-icons{display:flex;gap:.35rem;align-items:center;margin-left:.8rem;}
.tt-icon-btn{text-decoration:none;font-size:1.05rem;padding:.3rem .45rem;border-radius:.4rem;color:var(--tt-ink);}
.tt-icon-btn .badge{background:var(--tt-blue)!important;color:#000;font-weight:800;}
/* Hero — white, type-led, blue ring art */
.tt-hero{position:relative;overflow:hidden;background:#ffffff;padding:4.5rem 0 3.5rem;}
.tt-hero-title{font-size:clamp(3rem,8vw,5.6rem);font-weight:800;color:var(--tt-blue);}
.tt-hero-intro{font-size:1.15rem;max-width:46rem;color:#333;}
.tt-ring{position:absolute;border-radius:50%;border:34px solid rgba(32,93,200,.14);pointer-events:none;}
.tt-ring.r1{width:340px;height:340px;top:-150px;right:6%;}
.tt-ring.r2{width:220px;height:220px;top:40px;right:-60px;border-color:rgba(32,93,200,.20);}
.tt-dot{position:absolute;border-radius:50%;background:var(--tt-blue);width:130px;height:130px;left:-70px;bottom:-50px;opacity:.9;pointer-events:none;}
/* Spotlight kicker row */
.tt-spotlight{display:flex;flex-wrap:wrap;gap:.6rem 1.4rem;align-items:baseline;padding:1.1rem 0;border-top:1px solid var(--tt-line);border-bottom:1px solid var(--tt-line);}
.tt-kicker{font-weight:800;text-transform:uppercase;letter-spacing:.06em;font-size:.95rem;color:#000;}
.tt-spotlight a{text-transform:uppercase;letter-spacing:.05em;font-weight:700;font-size:.92rem;color:var(--tt-blue);text-decoration:none;}
.tt-spotlight a:hover{text-decoration:underline;text-underline-offset:4px;}
/* Buttons — #205DC8 background, black text (owner spec) */
.tt-btn-primary,.tt-btn-cart,.btn-primary{background:var(--tt-blue);border:1px solid var(--tt-blue);color:#000;border-radius:999px;padding:.55rem 1.4rem;font-weight:800;}
.tt-btn-primary:hover,.tt-btn-cart:hover,.btn-primary:hover{background:var(--tt-blue-dark);border-color:var(--tt-blue-dark);color:#000;}
.btn-outline-primary{color:#000;border:2px solid var(--tt-blue);border-radius:999px;font-weight:800;background:#fff;}
.btn-outline-primary:hover{background:var(--tt-blue);border-color:var(--tt-blue);color:#000;}
.btn-outline-secondary{border-radius:999px;font-weight:700;}
/* Cards — white blocks with blue border; hover flips to blue */
.tt-card{background:#ffffff;border:2px solid var(--tt-blue);border-radius:0;padding:1.5rem 1.5rem 2.4rem;position:relative;height:100%;transition:background .18s ease,color .18s ease;}
.tt-card h2,.tt-card h3{color:var(--tt-blue);transition:color .18s ease;}
.tt-card:hover{background:var(--tt-blue);color:#fff;}
.tt-card:hover h2,.tt-card:hover h3,.tt-card:hover .tt-role{color:#fff;}
.tt-card:hover a{color:#fff;}
.tt-card .btn{position:absolute;left:1.5rem;bottom:-.95rem;background:var(--tt-blue);color:#000;border:1px solid var(--tt-blue-dark);border-radius:999px;font-weight:800;padding:.35rem 1.1rem;box-shadow:0 1px 3px rgba(14,42,71,.25);}
.tt-card .btn:hover{background:var(--tt-blue-dark);color:#000;}
.tt-card .tt-btn-cart{position:static;box-shadow:none;}
.tt-card-icon{font-size:1.7rem;margin-bottom:.5rem;}
.tt-band{background:var(--tt-blue-soft);border-top:1px solid var(--tt-line);border-bottom:1px solid var(--tt-line);}
.tt-cover{border:none;border-radius:0;}
.tt-person{background:#fff;border:1px solid var(--tt-line);border-radius:0;padding:1rem;}
.tt-person img{width:100%;height:220px;object-fit:cover;}
.tt-role{color:var(--tt-muted);}
.tt-quote{background:var(--tt-blue-soft);border-left:5px solid var(--tt-blue);padding:1.4rem;}
.tt-searchbar{background:#fff;border:2px solid var(--tt-blue);border-radius:0;padding:1.1rem;}
.tt-searchbar .form-label{color:var(--tt-ink);font-weight:700;}
.tt-searchbar .form-check-label{color:var(--tt-ink);}
.tt-note{background:var(--tt-blue-soft);border:1px solid var(--tt-blue-mid);border-radius:0;padding:.7rem 1rem;font-size:.92rem;}
.tt-404{color:var(--tt-blue);font-size:clamp(1.6rem,4vw,2.6rem);}
.breadcrumb{background:transparent;}
.nav-tabs .nav-link{color:var(--tt-ink);font-weight:700;}
.nav-tabs .nav-link.active{color:var(--tt-blue);background:transparent;}
.page-item.active .page-link{background:var(--tt-blue);border-color:var(--tt-blue);color:#000;font-weight:800;}
/* Footer — black with blue accents */
.tt-footer{background:#000000;color:#ffffff;position:relative;overflow:hidden;}
.tt-footer a{color:var(--tt-blue-mid);}
.tt-footer a:hover{color:#ffffff;}
.tt-footer::after{content:"";position:absolute;width:300px;height:300px;border-radius:50%;border:30px solid rgba(32,93,200,.35);right:-110px;bottom:-160px;pointer-events:none;}
.tt-footer-pill{background:var(--tt-blue);color:#ffffff;border-radius:2.2rem;padding:1.6rem 1.8rem;display:inline-block;max-width:100%;}
.tt-footer-pill .tt-brand-text{color:#ffffff;}
.tt-footer-pill .tt-brand-text small{color:#d7e4fb;}
.tt-footer-pill .tt-logo-mark{background:#000;color:#fff;}
.tt-footer-pill a{color:#ffffff;text-decoration:underline;text-underline-offset:3px;}
.tt-footer-h{color:var(--tt-blue-mid);font-size:1.05rem;}
.tt-footer-links{list-style:none;padding:0;margin:0;}
.tt-footer-links li{margin:.35rem 0;}
.tt-footer-links a{color:#ffffff;text-decoration:none;}
.tt-footer-links a:hover{color:var(--tt-blue-mid);text-decoration:underline;}
.tt-pill-btn{display:inline-block;border:2px solid var(--tt-blue);color:#fff;border-radius:999px;padding:.4rem 1.2rem;font-weight:700;text-decoration:none;margin:.2rem .3rem .2rem 0;}
.tt-pill-btn:hover{background:var(--tt-blue);color:#000;}
.tt-copy{background:transparent;color:#9db9e8;text-align:left;padding:1rem 0 1.4rem;font-size:.9rem;}
@media (prefers-reduced-motion: reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important;}}

/* Site logo image (Customizer) */
.tt-brand .custom-logo, .tt-brand img.custom-logo{height:54px;width:auto;max-width:260px;object-fit:contain;}
.tt-footer-pill .custom-logo{height:60px;width:auto;max-width:280px;object-fit:contain;background:#fff;border-radius:.6rem;padding:.3rem .6rem;}

/* Header nav — style the menu anchors directly (WP menus add no .nav-link class) */
.tt-nav li a{color:var(--tt-ink);font-weight:600;font-size:1.02rem;padding:.5rem .8rem;display:block;text-decoration:none;}
.tt-nav li a:hover{color:var(--tt-blue);text-decoration:underline;text-underline-offset:5px;}
.tt-nav li.current-menu-item>a,.tt-nav li.current_page_item>a{color:var(--tt-blue);}

/* Header logo + mobile toggler (v1.0.10) */
.tt-header .custom-logo{height:48px;width:auto;max-width:230px;object-fit:contain;}
.tt-header .navbar-toggler{margin-left:auto;}
@media (max-width:575px){.tt-header .custom-logo{height:40px;max-width:180px;}}
/* Team photos — square frame anchored to the top so heads are not cropped */
.tt-person-photo{aspect-ratio:4/5;overflow:hidden;border-radius:.6rem;background:#EEF3FC;}
.tt-person-photo img{width:100%;height:100%;object-fit:cover;object-position:center 0%;}
.tt-person-photo--portrait{aspect-ratio:4/5;}
.tt-person h3{font-size:1.02rem;}
