/*
Theme Name: Tessella One
Theme URI: https://themes.site.kvar.one
Author: Tessella Themes
Author URI: https://themes.site.kvar.one
Description: A versatile, beautifully composed WordPress block theme for journals, independent stores and creative studios.
Version: 0.1.0
Requires at least: 6.6
Tested up to: 7.1
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: tessella-one
Tags: full-site-editing, block-patterns, custom-colors, custom-logo, wide-blocks, blog, e-commerce
*/
:root{--ts-ink:#242724;--ts-mist:#f4f1ea;--ts-paper:#fffdf9;--ts-primary:#9b4135;--ts-muted:#6f706b;--ts-line:#d9d5cd;--ts-contrast:#192622;--ts-radius:2px}
html{scroll-behavior:smooth}body{overflow-x:hidden;-webkit-font-smoothing:antialiased;background:var(--ts-paper);color:var(--ts-ink)}a{text-underline-offset:.2em;transition:opacity .2s,color .2s}a:hover{opacity:.78}img{max-width:100%;height:auto}figure img{display:block}h1,h2,h3{letter-spacing:-.045em;line-height:1.06}h1{letter-spacing:-.065em}p{line-height:1.7}
.wp-site-blocks{min-height:100vh;display:flex;flex-direction:column}.wp-site-blocks>footer{margin-top:auto}
.ts-header{position:relative;z-index:30;border-bottom:1px solid var(--ts-line);background:var(--ts-paper)}
.ts-header-inner{min-height:88px;display:flex;gap:30px;align-items:center;justify-content:space-between}
.ts-header .wp-block-site-title{line-height:1;letter-spacing:-.06em}.ts-header .wp-block-navigation{font-size:.75rem;letter-spacing:.13em;text-transform:uppercase;font-weight:700}.ts-header .wp-block-navigation-item__content{text-decoration:none}
.ts-topline{padding:8px 0;border-bottom:1px solid var(--ts-line);font-size:.64rem;letter-spacing:.22em;text-transform:uppercase;color:var(--ts-muted);font-weight:700}
.ts-container{max-width:1280px;margin-inline:auto}.ts-wide{max-width:1480px;margin-inline:auto}.ts-intro{padding-top:clamp(50px,7vw,128px);padding-bottom:clamp(42px,7vw,112px)}
.ts-kicker{letter-spacing:.24em;text-transform:uppercase;font-weight:700;font-size:.65rem;line-height:1.4;color:var(--ts-primary)}
.ts-display{font-size:clamp(3.2rem,8.4vw,9rem)!important;line-height:.92;letter-spacing:-.08em!important;font-weight:450!important}
.ts-lead{font-size:clamp(1.1rem,1.7vw,1.55rem);line-height:1.55;color:var(--ts-muted);max-width:760px}
.ts-divider{border-top:1px solid var(--ts-line)}.ts-issue{font-size:.7rem;text-transform:uppercase;letter-spacing:.19em;color:var(--ts-muted)}
.ts-cover{overflow:hidden;position:relative;min-height:520px;border-radius:var(--ts-radius);background:#d2c9b9}.ts-cover img{width:100%;height:100%;object-fit:cover}.ts-cover figcaption{font-size:.7rem;color:var(--ts-muted);margin-top:8px}
.ts-image-bleed{overflow:hidden}.ts-image-bleed img{width:100%;height:min(68vw,760px);object-fit:cover}
.ts-feature-pair{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(24px,5vw,90px);align-items:center}.ts-feature-pair>div{min-width:0}
.ts-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,2.5vw,40px)}
.ts-card{border-top:1px solid var(--ts-line);padding-top:22px}.ts-card h2,.ts-card h3{font-size:clamp(1.25rem,2vw,1.85rem)}.ts-card img{width:100%;aspect-ratio:4/3;object-fit:cover;margin-bottom:24px}
.ts-section{padding:clamp(56px,8vw,132px) 0}.ts-section-small{padding:clamp(28px,4vw,64px) 0}
.ts-banner{background:var(--ts-contrast);color:#f9f4e8;padding:clamp(48px,8vw,118px) clamp(28px,6vw,80px)}
.ts-banner a,.ts-banner h2,.ts-banner p{color:inherit}.ts-banner .ts-kicker{color:#e6b4a1}
.ts-aside{border-left:1px solid var(--ts-line);padding-left:30px;color:var(--ts-muted)}
.ts-button .wp-block-button__link,.wp-element-button{border-radius:2px!important;text-transform:uppercase;letter-spacing:.13em;font-size:.7rem!important;font-weight:700;padding:1rem 1.5rem;transition:transform .2s,background .2s}.wp-block-button__link:hover{transform:translateY(-2px)}
.ts-stat{border-top:1px solid var(--ts-line);padding:22px 0}.ts-stat strong{font-size:clamp(2.5rem,5vw,5rem);font-weight:450;letter-spacing:-.07em;display:block}
.ts-footer{background:var(--ts-contrast);color:#eeeae3;padding:80px 0 30px}.ts-footer a{color:inherit}.ts-footer .wp-block-site-title{font-size:clamp(2.3rem,5vw,5rem);font-weight:500}.ts-footer-meta{padding-top:35px;border-top:1px solid rgba(255,255,255,.2);font-size:.68rem;letter-spacing:.08em}
.ts-post-list{margin:35px 0}.ts-post-list .wp-block-post-template{gap:34px}.ts-post-list .wp-block-post{border-top:1px solid var(--ts-line);padding-top:22px}
.ts-post-list .wp-block-post-title{font-size:clamp(1.55rem,2.5vw,2.5rem)!important;max-width:740px}
.ts-post-list .wp-block-post-featured-image img{aspect-ratio:16/10;object-fit:cover}
.ts-post-list .wp-block-post-excerpt__excerpt{color:var(--ts-muted);font-size:1rem;max-width:650px}
.ts-post-meta{font-size:.68rem;letter-spacing:.15em;text-transform:uppercase;color:var(--ts-primary);font-weight:700}
.ts-article{max-width:800px;margin:0 auto}.ts-article>h1{margin-top:25px;font-size:clamp(2.7rem,6vw,5.4rem)}.ts-article p{font-size:1.13rem;line-height:1.9}.ts-article blockquote{font-size:1.75rem;border-left:3px solid var(--ts-primary);padding-left:25px}
.wp-block-post-featured-image img{border-radius:var(--ts-radius)}.wp-block-cover{min-height:480px}
.woocommerce ul.products li.product img{aspect-ratio:4/5;object-fit:cover}.woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:1.05rem;letter-spacing:-.02em}.woocommerce .button,.woocommerce a.button{border-radius:2px!important}
.wp-block-search__input{border:1px solid var(--ts-line);padding:12px}
@media(max-width:960px){.ts-header-inner{min-height:72px}.ts-feature-pair{grid-template-columns:1fr}.ts-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ts-aside{border-left:0;padding-left:0}}
@media(max-width:600px){.ts-topline{font-size:.55rem}.ts-header-inner{gap:12px}.ts-card-grid{grid-template-columns:1fr}.ts-display{font-size:clamp(3.2rem,15vw,5rem)!important}.ts-section{padding:54px 0}.ts-cover{min-height:300px}.ts-footer{padding-top:54px}.ts-feature-pair{gap:22px}.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column{flex-basis:100%!important}}
