
/* Shared layout for every public page. */
:root{--ttr-ink:#172332;--ttr-blue:#075a97;--ttr-border:#dce2e9;--ttr-width:1100px}
*{box-sizing:border-box}
html{scroll-padding-top:110px}
body{margin:0!important;padding:0!important;max-width:none!important;width:100%;background:linear-gradient(150deg,#fff8f0,#e3f2fd 65%,#f3e5f5)!important;color:var(--ttr-ink)!important;font:17px/1.7 system-ui,-apple-system,"Segoe UI",sans-serif!important;overflow-wrap:anywhere}
img,video,iframe{max-width:100%}img{height:auto}
a{color:var(--ttr-blue);text-underline-offset:4px}
a:focus-visible,button:focus-visible{outline:3px solid #075a97;outline-offset:4px}
[hidden]{display:none!important}
@keyframes ttr-rainbow-shimmer{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}
@keyframes ttr-rainbow-sweep{0%{transform:translateX(-140%);opacity:0}18%{opacity:.45}50%{opacity:.7}100%{transform:translateX(140%);opacity:0}}
.ttr-banner{position:relative!important;inset:auto!important;display:block!important;width:100%;max-width:none!important;margin:0!important;padding:18px 20px 26px!important;background:linear-gradient(135deg,#f7d9e8 0%,#dfe9ff 15%,#cde7f7 30%,#f5e0b8 45%,#e7d9fd 60%,#dfe9ff 75%,#f7d9e8 100%)!important;background-size:220% 220%!important;animation:ttr-rainbow-shimmer 16s ease-in-out infinite alternate;text-align:center!important;border:0!important;overflow:visible!important;box-shadow:inset 0 0 0 2px rgba(255,255,255,.9),0 0 0 3px rgba(255,255,255,.45),0 18px 40px rgba(24,34,88,.14),0 0 20px rgba(123,125,255,.08)}
.ttr-banner::before{content:"";position:absolute;inset:10px 16px 10px;border-radius:22px;background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(255,255,255,.94));box-shadow:0 16px 30px rgba(13,28,47,.12),inset 0 0 0 2px rgba(255,255,255,.76)}
.ttr-banner::after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 0%,rgba(255,255,255,.12) 30%,rgba(255,255,255,.56) 49%,rgba(255,255,255,.12) 66%,transparent 100%);transform:translateX(-140%);animation:ttr-rainbow-sweep 8s ease-in-out infinite;pointer-events:none;mix-blend-mode:screen}
.ttr-banner>a,.ttr-banner p{position:relative;z-index:1}
.ttr-banner>a{display:block;width:min(760px,100%);margin:auto}
.ttr-banner img{display:block;width:100%;height:auto;filter:drop-shadow(0 18px 26px rgba(17,17,17,.09)) saturate(1.18) contrast(1.08);transform:translateY(-2px)}
.ttr-banner p{margin:18px auto 0!important;max-width:70ch;font:900 12px/1.7 system-ui!important;color:var(--ttr-ink)!important;letter-spacing:.18em;text-transform:uppercase;text-shadow:0 1px 0 rgba(255,255,255,.8)}
.ttr-mobile-break{display:none}
.ttr-bar{position:sticky;top:0;z-index:1000;background:#fff;border-bottom:4px solid transparent;background-image:linear-gradient(#fff,#fff),linear-gradient(135deg,#f7d9e8 0%,#dfe9ff 15%,#cde7f7 30%,#f5e0b8 45%,#e7d9fd 60%,#dfe9ff 75%,#f7d9e8 100%);background-origin:border-box;background-clip:padding-box,border-box;box-shadow:0 18px 34px rgba(24,34,88,.12),0 0 18px rgba(123,125,255,.08)}
.ttr-bar-inner{width:100%;max-width:var(--ttr-width);margin:auto;padding:10px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.ttr-home{display:block;flex:0 1 190px;min-width:0}.ttr-home img{display:block;width:190px;height:auto}
.ttr-toggle{display:none;align-items:center;justify-content:center;gap:10px;min-height:44px;padding:8px 14px;border:1px solid #aab4bf;border-radius:8px;background:#fff;color:var(--ttr-ink);font:700 15px/1.4 system-ui;cursor:pointer}
.ttr-bar.enhanced .ttr-toggle{display:inline-flex}
.ttr-hamburger{display:grid;gap:4px;width:22px}.ttr-hamburger span{display:block;height:2px;background:currentColor}
.ttr-nav{position:static!important;display:flex;flex-wrap:wrap;justify-content:center;gap:10px;width:100%;max-width:var(--ttr-width);margin:0 auto!important;padding:0 24px 16px!important;border:0!important;font:700 14px/1.5 system-ui}
.ttr-nav a{display:block;padding:10px 14px;min-height:44px;border:1px solid var(--ttr-border);border-radius:8px;color:var(--ttr-ink);text-decoration:none;letter-spacing:normal;text-transform:none}
.ttr-nav a:hover,.ttr-nav a[aria-current]{background:var(--ttr-ink);color:#fff}
.ttr-main{display:block;width:100%;max-width:var(--ttr-width)!important;margin:0 auto!important;padding:32px 24px 56px!important;min-height:35vh}
.ttr-main>.wrap,.ttr-main>.shell{max-width:none;margin:0;padding:0}
.ttr-main h1{font:800 clamp(2rem,4.5vw,3.2rem)/1.15 system-ui!important;letter-spacing:-.025em;margin:0 0 24px;max-width:28ch;color:var(--ttr-ink)}
.ttr-main h2{font:750 clamp(1.4rem,3vw,2rem)/1.25 system-ui!important;margin:28px 0 16px}
.ttr-main h3{font:750 1.15rem/1.35 system-ui!important;margin:16px 0 10px}
.ttr-main p{margin-top:0;margin-bottom:1em}
.ttr-main>header,.ttr-main .masthead{position:static!important;background:transparent!important;color:var(--ttr-ink)!important;text-align:left;overflow:visible;padding:0 0 24px!important;margin:0 0 24px;border-bottom:1px solid var(--ttr-border)}
.ttr-main>section,.ttr-main>.section{margin:0 0 24px;padding:clamp(20px,3vw,30px);background:#fff;border:1px solid var(--ttr-border);border-radius:20px;box-shadow:0 8px 24px #17233208}
.ttr-main>section.newsletter-section{padding:clamp(32px,7vw,72px);text-align:center;background:linear-gradient(120deg,#fff5dd,#e6f4ff 55%,#f3e5f5);border:2px solid var(--ttr-blue);box-shadow:0 12px 30px #17233214}
.ttr-main .newsletter-section h2{max-width:24ch;margin:0 auto 16px;font-size:clamp(1.7rem,4vw,2.7rem)}
.newsletter-intro{max-width:58ch;margin:0 auto 28px!important;font-size:clamp(1rem,2vw,1.15rem);font-weight:600}
.newsletter-form{width:100%;max-width:640px;min-width:0;margin:0 auto;padding:clamp(18px,4vw,32px);overflow:hidden;border:1px solid var(--ttr-border);border-radius:18px;background:#fff;box-shadow:0 8px 24px #17233212}
.newsletter-form>div>div{width:100%;max-width:330px;min-width:0;margin-inline:auto}
.newsletter-note{margin:18px 0 0!important;font-size:.9rem;font-weight:600}
.ttr-main .section{border-radius:20px}
.ttr-main .grid{gap:20px}
.ttr-main .grid:not([class*="grid-cols"]){display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr))}
.ttr-main .card{min-width:0;border-radius:16px}
.ttr-main .social-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr))}
.ttr-latest-posts-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:14px;padding:0;list-style:none}
.ttr-latest-posts-list li{min-width:0}
.ttr-latest-posts-list .card{height:100%}
.ttr-latest-post-source{margin:0 0 6px!important;font-size:.8rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.ttr-latest-post-date{display:block;margin-top:8px;font-size:.85rem;font-weight:600}
.ttr-main .article{width:100%;max-width:820px;margin:0 auto;padding:clamp(20px,4vw,48px);background:#fff;border-radius:20px}
.ttr-main .article figure{margin:24px 0}.ttr-main .feature{margin:0 0 24px}.ttr-main .feature h2{margin-top:0}
.ttr-main .feature-copy{min-width:0}
.ttr-main .button{background:var(--ttr-ink);color:white;border-radius:999px;padding:12px 22px;display:inline-block;text-decoration:none}
.ttr-main ul{padding-left:24px;list-style:disc}.ttr-main ol{padding-left:24px;list-style:decimal}
.ttr-main table{display:block;max-width:100%;overflow-x:auto}
.ttr-footer{display:block!important;max-width:none!important;margin:0!important;padding:32px 24px!important;background:#fff!important;border-top:1px solid var(--ttr-border);color:var(--ttr-ink)!important;text-align:center!important;opacity:1!important;font:14px/1.7 system-ui!important}
.ttr-footer>a{font-size:20px;font-weight:800;text-decoration:none;color:var(--ttr-ink)}
.ttr-footer p{margin:8px 0 18px}.ttr-footer nav{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 20px;margin:0 auto 18px;padding:0;max-width:1100px}
.ttr-footer nav a{display:inline-block;min-height:44px;padding:10px 0;color:var(--ttr-blue);font:inherit;text-decoration:underline}
.ttr-skip{position:absolute;left:16px;top:-200px;z-index:2000;background:#fff;padding:12px}.ttr-skip:focus{top:10px}
.ttr-main #root>div{min-height:0;background:transparent}
.ttr-main #root>div>header,.ttr-main #root>div>nav,.ttr-main #root>div>footer,.ttr-main #root>div>.rainbow-line.sticky{display:none!important}
.ttr-main #root>div>section{max-width:none!important;margin:0 0 24px!important;padding:24px!important;background:#fff;border:1px solid var(--ttr-border);border-radius:20px}
.ttr-main #root [class*="max-w-[1200px]"]{max-width:100%!important}
@media(max-width:760px){
.ttr-main{padding:24px 18px 40px!important}
.ttr-main .feature{grid-template-columns:1fr}.ttr-main .feature img{height:auto}
.ttr-main .grid:not([class*="grid-cols"]){grid-template-columns:1fr}
.ttr-main [style*="flex:1 1 230px"]{flex-basis:100%!important}
.ttr-main .article{padding:22px}.ttr-nav{justify-content:stretch;flex-direction:column;max-height:65dvh;overflow-y:auto;padding:0 18px 16px!important}
.ttr-nav a{width:100%}.ttr-bar-inner{padding:10px 18px}.ttr-home{flex-basis:170px}
}
@media(max-width:600px){
.ttr-banner{padding:24px 18px 20px!important}.ttr-banner>a{width:210px;max-width:100%}.ttr-banner p{font-size:12px!important}.ttr-mobile-break{display:block}
.ttr-main>section{padding:20px}.ttr-main #root>div>section{padding:18px!important}
.ttr-footer{padding:28px 18px!important}
}
@media(max-width:600px){
.ttr-main>section.newsletter-section{width:calc(100% + 36px);margin-left:-18px;margin-right:-18px;padding:clamp(20px,6vw,32px) 12px}
.ttr-main>section.newsletter-section .newsletter-form{padding:8px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation:none!important;transition:none!important}}

/* Clip horizontal paint without turning the body into a scroll container. */
html,body{overflow-x:clip!important;overflow-y:visible!important}

/* Preserve the supplied SVG artwork without rasterizing or distorting it. */
.ttr-banner img,.ttr-home img{object-fit:contain;image-rendering:auto;filter:none!important;transform:none!important}

/* Updated logo artwork, with its surrounding export whitespace removed. */
.ttr-banner>a{width:min(580px,100%)}
.ttr-home{flex-basis:150px}.ttr-home img{width:150px}
@media(max-width:600px){.ttr-banner>a{width:min(320px,100%)}.ttr-home{flex-basis:125px}.ttr-home img{width:125px}}

.ttr-highlights .ttr-highlight-kicker{margin:0 0 8px;color:#075a97;font-size:.82rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.ttr-highlights>h2{margin-top:0}
.ttr-highlights-intro{max-width:60ch}
.ttr-highlight-track{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:16px}
.ttr-highlight-slide{min-width:0;overflow:hidden;border:1px solid var(--ttr-border);border-radius:16px;background:#fff}
.ttr-highlight-image{display:block;background:#172332}
.ttr-highlight-image img{display:block;width:100%;height:280px;object-fit:contain}
.ttr-highlight-copy{padding:18px}
.ttr-highlight-copy h3{margin:0 0 10px!important}
.ttr-highlight-copy h3 a{color:var(--ttr-ink);text-decoration:none}
.ttr-highlight-copy h3 a:hover{text-decoration:underline}
.ttr-highlight-copy p:not(.ttr-highlight-kicker){margin:0 0 14px}
.ttr-highlight-link{display:inline-block;font-weight:750}
.ttr-highlights.is-ready .ttr-highlight-track{display:block}
.ttr-highlights.is-ready .ttr-highlight-slide:not([hidden]){display:grid;grid-template-columns:minmax(180px,260px) minmax(0,1fr);align-items:center;gap:clamp(20px,4vw,48px);min-height:320px;padding:20px;background:linear-gradient(120deg,#f5f9fc,#fff5dd)}
.ttr-highlights.is-ready .ttr-highlight-image{border-radius:12px;overflow:hidden}
.ttr-highlights.is-ready .ttr-highlight-image img{height:300px}
.ttr-highlights.is-ready .ttr-highlight-copy{padding:12px 20px 12px 0}
.ttr-highlight-controls{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:12px;margin:18px 0 0}
.ttr-highlight-controls button{min-height:44px;padding:8px 16px;border:1px solid #aab4bf;border-radius:999px;background:#fff;color:var(--ttr-ink);font:700 15px/1.4 system-ui;cursor:pointer}
.ttr-highlight-controls button:hover{background:var(--ttr-ink);color:#fff}
.ttr-highlight-pagination{display:flex;align-items:center;justify-content:center;gap:8px}
.ttr-highlight-pagination button{width:14px;min-width:14px;height:14px;min-height:14px;padding:0;border:0;background:#aab4bf}
.ttr-highlight-pagination button[aria-current="true"]{width:30px;background:var(--ttr-blue)}
.ttr-highlight-status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:600px){
.ttr-highlights.is-ready .ttr-highlight-slide:not([hidden]){grid-template-columns:1fr;gap:16px;padding:14px}
.ttr-highlights.is-ready .ttr-highlight-image img{height:clamp(210px,65vw,300px)}
.ttr-highlights.is-ready .ttr-highlight-copy{padding:4px 4px 8px}
.ttr-highlight-controls{gap:8px}.ttr-highlight-controls>button{padding:8px 12px}
}

/* Read-only Instagram gallery populated from a scheduled, server-side API sync. */
.ttr-instagram-feed{background:linear-gradient(120deg,#fff9fc,#f2f7ff)!important}
.ttr-instagram-heading{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 24px;margin-bottom:14px}
.ttr-instagram-heading h2{margin:0 0 8px}
.ttr-instagram-heading p{margin:0}
.ttr-instagram-heading>a{display:inline-block;min-height:44px;padding:10px 14px;border-radius:999px;background:#075a97;color:#fff;font-weight:750;text-decoration:none}
.ttr-instagram-eyebrow{color:#a32673;font-size:.78rem;font-weight:850;letter-spacing:.12em}
.ttr-instagram-status{color:#475467}
.ttr-instagram-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.ttr-instagram-card{min-width:0;overflow:hidden;border-radius:16px;border:1px solid #eadce9;background:#fff;box-shadow:0 4px 15px #1723320d}
.ttr-instagram-card>a{display:block;color:inherit;text-decoration:none;height:100%}
.ttr-instagram-media{aspect-ratio:1/1;background:linear-gradient(145deg,#eec6e6,#c5dffc);position:relative;display:grid;place-items:center;overflow:hidden}
.ttr-instagram-media img{width:100%;height:100%;object-fit:cover;display:block}
.ttr-instagram-media span{padding:14px;color:#4c2258;text-align:center;font-weight:800}
.ttr-instagram-type{position:absolute;right:10px;top:10px;border-radius:999px;background:#101828df;color:#fff;font-weight:750;font-size:.75rem;padding:4px 10px}
.ttr-instagram-copy{padding:12px 14px}
.ttr-instagram-copy p{font-size:.89rem;line-height:1.55;margin:0 0 8px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.ttr-instagram-copy time{font-size:.78rem;color:#667085}
.ttr-instagram-card a:hover .ttr-instagram-copy p{text-decoration:underline}
@media(max-width:700px){.ttr-instagram-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:440px){.ttr-instagram-grid{gap:9px}.ttr-instagram-copy{padding:10px}.ttr-instagram-type{font-size:.68rem;right:6px;top:6px}}
