/* Scoped to the plugin shell; theme pages remain untouched. */
body.tts-site{font-size:var(--ttl-text);line-height:var(--ttl-line);letter-spacing:var(--ttl-tracking);overflow-wrap:anywhere}
.tts-shell{min-height:var(--ttl-min-height);min-height:var(--ttl-min-height,100svh)}
body.admin-bar .tts-shell{min-height:calc(var(--ttl-min-height) - 32px)}
.tts-header{min-height:var(--ttl-header);padding:12px var(--ttl-pad-x);gap:12px;display:grid;grid-template-columns:minmax(0,1fr) auto}
.tts-logo{justify-self:var(--ttl-logo-align);max-width:100%;position:relative;left:var(--ttl-logo-x);top:var(--ttl-logo-y)}
.tts-logo img{width:var(--ttl-logo);max-width:100%;height:auto;max-height:none}
.tts-header nav{font-size:var(--ttl-nav);gap:0 var(--ttl-nav-gap);justify-content:flex-end}
.tts-header nav a,.tts-footer nav a{display:inline-flex;align-items:center;min-height:44px}
.tts-main{flex:var(--ttl-main-flex);text-align:var(--ttl-align)}
.tts-page{max-width:100%;width:var(--ttl-width);padding:var(--ttl-pad-y) var(--ttl-pad-x)}
.tts-page h1{font-size:var(--ttl-heading);margin-bottom:var(--ttl-gap)}
.tts-page p{margin:0 0 var(--ttl-gap)}
.tts-page :is(h2,h3,section,figure){margin-block:var(--ttl-gap)}
.tts-page img{display:block;width:var(--ttl-image-width);max-width:100%;height:var(--ttl-image-height);object-fit:cover;object-position:var(--ttl-image-x) var(--ttl-image-y);margin-inline:auto}
.tts-page :is(video,iframe,table){max-width:100%}
.tts-form{width:100%;max-width:var(--ttl-form-width);gap:var(--ttl-gap);margin:var(--ttl-gap) auto;text-align:var(--ttl-align)}
.tts-form input,.tts-form textarea{min-height:var(--ttl-control);font-size:var(--ttl-text);line-height:var(--ttl-line);min-width:0}
.tts-form button,.tts-site .tsr-toggle{min-height:var(--ttl-control);min-width:44px;font-size:var(--ttl-button);max-width:100%;white-space:normal}
.tts-form button{justify-self:var(--ttl-logo-align)}
.tts-footer{min-height:var(--ttl-footer);padding:12px var(--ttl-pad-x);font-size:var(--ttl-footer-text);display:flex;flex-direction:column;justify-content:center}
.tts-footer nav{gap:0 var(--ttl-nav-gap);margin-bottom:0}.tts-footer p{margin-bottom:0}
.tts-footer small{font-size:max(11px,calc(var(--ttl-footer-text) - 2px))}
.tts-site .tsr-hero{min-height:var(--ttl-hero-min);height:auto}
.tts-site .tsr-content{width:100%;padding:var(--ttl-pad-y) var(--ttl-pad-x) max(76px,var(--ttl-pad-y));text-align:var(--ttl-align)}
.tts-site .tsr-headline{font-size:min(var(--ttl-hero-heading),9vw)!important;line-height:.98!important;max-width:100%;margin-bottom:var(--ttl-gap)!important;letter-spacing:var(--ttl-tracking)!important}
.tts-site .tsr-strapline{font-size:var(--ttl-tagline)!important;line-height:1.3!important;letter-spacing:var(--ttl-tracking)}
.tts-site .tsr-note{margin-top:var(--ttl-gap)!important}.tts-site .tsr-eyebrow{margin-bottom:var(--ttl-gap)!important}
.tsr-slide picture{display:block;width:100%;height:100%}
.tts-site .tsr-slide-image{object-position:var(--tsr-desktop-x,50%) var(--tsr-desktop-y,25%)!important}
.tts-faq details{border-bottom:1px solid #ccc;text-align:left}
.tts-faq details:first-child{border-top:1px solid #ccc}
.tts-faq summary{min-height:48px;padding:18px 32px 18px 0;cursor:pointer;font-weight:700;list-style:none;position:relative}
.tts-faq summary::-webkit-details-marker{display:none}.tts-faq summary::after{content:'+';position:absolute;right:4px;top:18px}.tts-faq details[open] summary::after{content:'−'}
.tts-faq details>div{padding-bottom:4px}.tts-faq a{text-decoration:underline}
@media(max-width:782px){
 .tts-site .tsr-headline{font-size:min(var(--ttl-hero-heading),13vw)!important}
 .tts-site .tsr-slide-image{object-position:var(--tsr-mobile-x,50%) var(--tsr-mobile-y,38%)!important}
 body.admin-bar .tts-shell{min-height:calc(var(--ttl-min-height) - 46px)}
 .tts-header{grid-template-columns:minmax(0,1fr);justify-items:stretch}
 .tts-header nav{justify-content:center}
 .tts-logo{justify-self:var(--ttl-logo-align)}
}
@media(min-width:360px) and (max-width:782px){.tts-header{grid-template-columns:minmax(0,1fr) auto}.tts-header nav{max-width:240px;justify-content:flex-end}}
@media(max-width:359px){.tts-header{padding-block:8px}.tts-header nav{gap:0 var(--ttl-nav-gap)}}
@media(prefers-reduced-motion:reduce){.tts-site *{scroll-behavior:auto}}
