/*
Theme Name: Quotes on Thread | Vibrant Roots
Theme URI: https://quotesonthread.com/
Author: Quotes on Thread
Description: Afrocentric editorial WordPress theme with Family, Career, Cultural blogs, and WooCommerce + Printify-compatible Threads shop. Existing data remains in WordPress.
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: qot-vibrant-roots
Requires at least: 6.3
Requires PHP: 8.0
Tags: blog, e-commerce, custom-logo, custom-menu, featured-images, responsive-layout
*/
:root{--cream:#fff9ea;--cream2:#f7e8c8;--cream3:#f2dcb2;--forest:#104f49;--forest2:#0d3d38;--terracotta:#b34d36;--sunflower:#e5b44d;--orange:#e98052;--ink:#123832;--muted:#526861;--white:#fffdfa;--stroke:#e6d7ba;--shadow:0 18px 52px rgba(24,52,44,.09);--display:'Playfair Display',Georgia,serif;--sans:'DM Sans',Arial,Helvetica,sans-serif}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.68;-webkit-font-smoothing:antialiased}
body.admin-bar .site-header{top:32px}a{color:var(--terracotta);text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit}button{cursor:pointer}img{max-width:100%;height:auto}figure{margin:0}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--orange);outline-offset:4px}h1,h2,h3,h4{font-family:var(--display);line-height:1.18;letter-spacing:-.035em;font-weight:600}h1{font-size:clamp(2.6rem,5.7vw,5.65rem)}h2{font-size:clamp(2rem,3.6vw,3.55rem)}h3{font-size:1.45rem}p{margin-top:0}.container{width:min(calc(100% - 64px),1180px);margin-left:auto;margin-right:auto}.screen-reader-text{position:absolute;clip-path:inset(50%);width:1px;height:1px;overflow:hidden;white-space:nowrap}.screen-reader-text:focus{clip-path:none;z-index:999999;top:10px;left:10px;width:auto;height:auto;background:#fff;padding:10px}.wp-block-image img{height:auto}.wp-block-cover{margin-bottom:26px}
.pattern-rail{height:11px;background:repeating-linear-gradient(90deg,#eeaa40 0 25px,#127b6d 25px 49px,#e66d4d 49px 63px,#fae6b3 63px 75px);position:relative}
.pattern-rail:after{content:'';position:absolute;inset:3px 0;background:repeating-linear-gradient(90deg,transparent 0 35px,rgba(255,255,255,.55) 35px 37px,transparent 37px 75px)}
.site-header{z-index:500;position:relative;background:var(--cream);border-bottom:1px solid rgba(8,66,55,.12)}.header-inner{display:flex;align-items:center;gap:23px;justify-content:space-between;min-height:93px}.site-brand{flex:0 0 auto}.brand-link{display:flex;align-items:center;gap:11px;color:var(--ink)!important;text-decoration:none!important}.brand-symbol{display:grid;place-items:center;border-radius:50%;height:47px;width:47px;background:var(--terracotta);border:3px solid #f6dbb5;color:#fff;font:italic 35px/1 Georgia,serif;box-shadow:0 0 0 1px var(--terracotta)}.brand-name{display:block;font:700 16px/1.03 var(--display);letter-spacing:-.02em}.brand-name>span{display:block}.brand-name small{font:700 8px/1.6 var(--sans);letter-spacing:2.35px;color:var(--terracotta);display:block;margin-top:4px}.custom-logo{width:auto;max-width:210px;max-height:78px}.nav-items,.site-footer ul{padding:0;margin:0;list-style:none}.nav-items{display:flex;gap:19px;align-items:center;justify-content:center}.nav-items a{display:block;color:var(--ink);font-size:11px;font-weight:800;text-transform:none;white-space:nowrap;padding:10px 0}.nav-items a:hover,.nav-items .current-menu-item>a{color:var(--terracotta);text-decoration:none}.header-shop{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;color:#fff;background:var(--forest);font-size:11px;font-weight:800;padding:14px 17px;border-radius:2px}.header-shop:hover{color:#fff;background:var(--terracotta);text-decoration:none}.menu-toggle{display:none;align-items:center;gap:8px;color:var(--forest);background:transparent;border:1px solid var(--stroke);padding:9px 12px;font-weight:700}
.eyebrow{color:var(--terracotta);font-size:11px;font-weight:800;letter-spacing:2.2px;text-transform:uppercase;line-height:1.5}.light-eyebrow{color:var(--sunflower)}.btn{border:1px solid var(--forest);background:var(--forest);color:#fff;padding:14px 24px;display:inline-flex;align-items:center;justify-content:center;gap:11px;line-height:1.15;font-size:12px;font-weight:800;border-radius:2px;min-height:47px}.btn:hover{background:var(--terracotta);border-color:var(--terracotta);text-decoration:none;color:#fff}.btn-outline{background:transparent;color:var(--forest)}.btn-outline:hover{color:#fff}.btn-light{background:var(--sunflower);border-color:var(--sunflower);color:var(--forest2)}.btn-light:hover{color:#fff}.text-link{font-size:12px;font-weight:800;color:var(--terracotta);text-underline-offset:6px;text-decoration:underline}.section{padding:75px 0}.section--soft{background:var(--cream2)}.section-title{margin:10px 0 0}.section-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin-bottom:32px}.section-intro>p{color:var(--muted);font-size:13px;max-width:250px;margin:0;text-align:right}.section-intro .text-link{flex-shrink:0}.prose-caption{font-size:14px;color:var(--muted);line-height:1.8}
/* The signature Vibrant Roots landing page. */
.hero{background:var(--cream2);overflow:hidden;position:relative}.hero-inner{max-width:1680px;margin:auto;min-height:548px;display:grid;grid-template-columns:minmax(0,.84fr) minmax(0,1.16fr)}.hero-copy{min-width:0;padding:65px 35px 70px clamp(28px,5vw,88px);display:flex;flex-direction:column;align-items:flex-start;justify-content:center;position:relative;z-index:1}.hero-copy h1{font-size:clamp(2.65rem,4.5vw,4.9rem);margin:19px 0 23px;max-width:670px;overflow-wrap:normal}.hero-copy h1 em{font-weight:500;color:var(--terracotta);display:block}.hero-copy p{font-size:15px;color:var(--muted);line-height:1.8;max-width:460px;margin-bottom:27px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.hero-art{min-height:548px;position:relative;background:linear-gradient(145deg,#dcad78,#d36e53);overflow:hidden}.hero-art .hero-portrait{position:absolute;inset:0;height:100%;width:100%;object-fit:cover;object-position:center 27%;filter:saturate(.93)}.hero-art .hero-ornament{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(16,79,73,.07),transparent)}.hero-art .hero-ornament:before{content:'';position:absolute;top:0;right:0;width:100%;height:27px;background:repeating-linear-gradient(90deg,var(--sunflower) 0 32px,#12695e 32px 56px,var(--orange) 56px 75px,#e9c99c 75px 81px)}.hero-art .hero-ornament:after{content:'';position:absolute;bottom:-100px;right:-80px;width:360px;height:360px;border:36px double rgba(255,221,165,.45);border-radius:50%;opacity:.6}.quote-sticker{position:absolute;left:clamp(24px,3vw,48px);right:auto;bottom:32px;z-index:2;box-sizing:border-box;min-width:0;padding:28px 30px;width:min(350px,calc(100% - 72px));background:var(--white);box-shadow:0 18px 48px #243b3152}.quote-sticker:before{content:'“';font:italic 46px Georgia,serif;color:var(--terracotta);height:20px;display:block}.quote-sticker p{font:italic 22px/1.38 var(--display);margin:14px 0;color:var(--ink);white-space:normal;overflow-wrap:break-word}.quote-sticker small{font:800 9px var(--sans);color:var(--terracotta);letter-spacing:1.5px}.hero-credit{position:absolute;bottom:7px;right:12px;font-size:9px;color:#fff;text-shadow:0 1px 6px #000b}.brand-ribbon{padding:13px 15px;color:#f4e6bc;background:var(--forest);font-size:11px;font-weight:700;letter-spacing:2.8px;text-align:center;text-transform:uppercase}.brand-ribbon i{font-size:13px;color:var(--sunflower);padding:0 20px;font-style:normal}.categories-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.category-tile{padding:23px;min-height:185px;display:flex;align-items:flex-start;flex-direction:column;justify-content:space-between;color:var(--forest);position:relative;overflow:hidden;transition:transform .18s,box-shadow .18s}.category-tile:hover{transform:translateY(-5px);box-shadow:var(--shadow);text-decoration:none}.category-tile:after{content:'';position:absolute;top:-48px;right:-50px;width:120px;height:120px;border:1px solid currentColor;transform:rotate(45deg);opacity:.18}.tile-family{background:#f8d5bf}.tile-career{background:#d1e6d0}.tile-culture{background:#f4d99b}.tile-quotes{background:#cde1da}.category-tile .tile-icon{font:37px/1 Georgia,serif;color:var(--terracotta)}.category-tile h3{font-size:25px;line-height:1.1;margin:0 0 7px}.category-tile span:last-child{font-size:10px;font-weight:800;letter-spacing:1px;text-transform:uppercase;color:var(--forest)}
.quote-band{background:var(--forest);color:#fff3d7;position:relative;overflow:hidden}.quote-band:before{content:'✺';position:absolute;top:-190px;right:-70px;font-size:550px;line-height:1;color:#ffffff0d}.quote-band-inner{padding:66px 0;display:grid;grid-template-columns:1.2fr .8fr;gap:68px;align-items:center;position:relative}.quote-band blockquote{margin:12px 0 14px;font:500 clamp(27px,3.45vw,45px)/1.22 var(--display);letter-spacing:-1px}.quote-band cite{font:700 10px var(--sans);color:#dfc489;text-transform:uppercase;letter-spacing:2px;font-style:normal}.quote-band-side{border-left:1px solid #ffffff48;padding-left:42px}.quote-band-side h3{font:600 29px var(--display);margin:12px 0}.quote-band-side p{font-size:13px;line-height:1.8;color:#e9e0cc;margin-bottom:22px}.quote-band-side a{color:#f4d38f;font-size:12px;font-weight:700;text-decoration:underline;text-underline-offset:6px}
.story-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.story-card{background:var(--white);border:1px solid var(--stroke);display:flex;flex-direction:column;min-width:0}.story-image{display:block;height:215px;overflow:hidden;background:linear-gradient(132deg,#d8ad77,#ad5b42);position:relative}.story-image img{display:block;height:100%;width:100%;object-fit:cover;transition:transform .3s}.story-image:hover img{transform:scale(1.04)}.story-fallback{font:80px var(--display);color:#fff0c7;position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(circle at 80% 30%,#e9bd74 1%,transparent 38%),linear-gradient(135deg,#157062,#bd6551)}.story-fallback small{font:800 11px var(--sans);letter-spacing:3px;color:#fff}.story-content{display:flex;flex-direction:column;flex:1;padding:22px 22px 20px}.story-content .eyebrow{font-size:9px;letter-spacing:1.4px}.story-content h3{font-size:24px;margin:14px 0 11px}.story-content h3 a{color:var(--ink)}.story-content h3 a:hover{color:var(--terracotta)}.story-content p{font-size:13px;line-height:1.75;color:var(--muted);margin-bottom:23px}.story-bottom{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-top:auto;border-top:1px solid var(--stroke);padding-top:15px;font-size:10px;color:var(--muted)}.story-bottom a{font-weight:800;font-size:11px;white-space:nowrap}
.culture-spotlight{display:grid;grid-template-columns:.9fr 1.1fr;background:#f3d7a4;min-height:375px;overflow:hidden}.culture-pattern{background:var(--forest);position:relative;overflow:hidden;min-height:300px;display:flex;align-items:center;justify-content:center}.culture-pattern:before{content:'';position:absolute;inset:-90px;background:repeating-linear-gradient(45deg,transparent 0 36px,#edac4d 36px 46px,#0e5d54 46px 58px,transparent 58px 86px),repeating-linear-gradient(-45deg,transparent 0 52px,#e98652 52px 64px,transparent 64px 98px);opacity:.7}.culture-pattern:after{content:'✺';font:220px Georgia,serif;color:#fbe9bb;z-index:1;filter:drop-shadow(0 9px 0 #b76443)}.culture-copy{padding:55px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.culture-copy h2{margin:12px 0 14px}.culture-copy p{color:#546257;line-height:1.85;max-width:470px}.culture-copy .btn{margin-top:15px}
.product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.product-card{min-width:0;background:var(--white);border:1px solid var(--stroke);display:flex;flex-direction:column}.product-photo{aspect-ratio:1/1.04;background:#f0e7d9;display:block;position:relative;overflow:hidden}.product-photo img{height:100%!important;width:100%!important;object-fit:contain;padding:8px;transition:transform .3s}.product-photo:hover img{transform:scale(1.035)}.product-label{position:absolute;left:10px;top:10px;font-size:9px;font-weight:800;color:var(--forest);background:#fff6e6;padding:7px 10px;letter-spacing:.6px}.product-info{padding:16px;display:flex;flex-direction:column;flex:1}.product-info h3{font-size:18px;line-height:1.38;margin:0 0 13px}.product-info h3 a{color:var(--ink)}.product-info-foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.product-price{font-size:14px;font-weight:800;color:var(--forest)}.product-price del{font-size:11px;color:var(--muted)}.product-info-foot>a{font-size:11px;font-weight:800}
.conclusion-cta{padding:75px 0;background:var(--terracotta);color:#fff7e5;text-align:center}.conclusion-cta h2{max-width:720px;margin:11px auto 15px}.conclusion-cta p{max-width:600px;margin:0 auto 24px;color:#ffe7d6;font-size:14px}.conclusion-cta .btn{background:#ffe2a0;border-color:#ffe2a0;color:var(--forest)}.conclusion-cta .btn:hover{background:#fff5db;border-color:#fff5db}
.page-hero{background:var(--cream2);position:relative;overflow:hidden}.page-hero:after{content:'✺';position:absolute;bottom:-125px;right:-10px;font:330px/1 Georgia,serif;color:rgba(211,133,74,.11);pointer-events:none}.page-hero-inner{padding:70px 0 66px;position:relative;z-index:1}.page-hero h1{font-size:clamp(40px,5.3vw,68px);margin:13px 0 16px;max-width:850px}.page-hero p{font-size:15px;color:var(--muted);max-width:630px;margin-bottom:0}.blog-tabs{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 30px}.blog-tabs a{font-size:12px;font-weight:700;color:var(--forest);border:1px solid var(--stroke);border-radius:30px;padding:8px 17px;transition:.2s}.blog-tabs a:hover,.blog-tabs a.is-active{background:var(--forest);color:#fff;border-color:var(--forest);text-decoration:none}.empty-stories{padding:45px;border:1px dashed var(--terracotta);background:var(--cream2);grid-column:1/-1}.empty-stories h3{margin-top:0}.empty-stories p{color:var(--muted);font-size:14px}.pagination,.nav-links{display:flex;gap:10px;justify-content:center;margin:44px 0 0;flex-wrap:wrap}.page-numbers,.post-page-numbers{padding:8px 13px;border:1px solid var(--stroke);background:#fff;color:var(--forest)}.page-numbers.current{background:var(--forest);color:#fff}
.article-layout{display:grid;grid-template-columns:minmax(0,1fr) 255px;gap:65px;padding-top:65px;padding-bottom:85px}.article-body{min-width:0}.article-head{margin-bottom:25px}.article-head h1{font-size:clamp(36px,5vw,62px);line-height:1.12;margin:12px 0 19px}.article-meta{font-size:12px;color:var(--muted);display:flex;flex-wrap:wrap;gap:15px}.article-meta strong{color:var(--forest)}.article-featured{margin:30px 0}.article-featured img{display:block;width:100%;max-height:580px;object-fit:cover}.entry-content{color:#324c45;font-size:16px;line-height:1.95;overflow-wrap:anywhere}.entry-content h2{font-size:clamp(27px,3vw,37px);margin:42px 0 17px}.entry-content h3{font-size:27px;margin:30px 0 12px}.entry-content a{text-decoration:underline;text-underline-offset:3px}.entry-content blockquote{margin:29px 0;background:#f0dfba;padding:22px 29px;border-left:5px solid var(--terracotta);font:italic 26px/1.5 var(--display);color:var(--forest)}.entry-content :is(ul,ol){padding-left:27px}.entry-content :is(img,iframe,video){max-width:100%;height:auto}.entry-content .wp-block-quote p{font:italic 26px/1.5 var(--display)}.article-side{align-self:start;position:sticky;top:30px}.side-card{background:var(--cream2);padding:27px;margin-bottom:18px}.side-card h3{font-size:23px;margin:6px 0 13px}.side-card p{font-size:13px;color:var(--muted)}.side-links{list-style:none;padding:0;margin:0}.side-links li+li{border-top:1px solid var(--stroke)}.side-links a{display:block;padding:11px 0;font-size:13px;font-weight:700;color:var(--forest)}.article-after{border-top:1px solid var(--stroke);padding-top:20px;margin-top:35px}.article-after a{font-weight:800}.comments-area{margin-top:44px}.comments-area input,.comments-area textarea,.search-form input{max-width:100%;padding:12px;border:1px solid var(--stroke);background:#fff}.comments-area input[type='submit'],.search-form button{background:var(--forest);color:#fff;padding:11px 18px;border:0}.page-content{padding:65px 0 85px}.page-content h1{margin-top:0}.page-content .entry-content{max-width:850px}.content-404{text-align:center;padding:120px 0}
.shop-intro-note{font-size:13px;color:var(--muted);margin:0 0 27px}.shop-spacer{margin-top:32px}.shop-empty{padding:35px;background:var(--cream2)}
/* WooCommerce integration; keep core cart, checkout, fulfillment and payment workflows. */
.woocommerce .woocommerce-breadcrumb{color:var(--muted);font-size:12px;margin:25px 0}.woocommerce ul.products{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px;padding:0;margin:28px 0}.woocommerce ul.products:before,.woocommerce ul.products:after{display:none!important}.woocommerce ul.products li.product{margin:0!important;width:auto!important;float:none!important;background:#fffdfa;border:1px solid var(--stroke);padding-bottom:13px;min-width:0}.woocommerce ul.products li.product a img{aspect-ratio:1/1.04;object-fit:contain;background:#f0e7d9;margin:0 0 12px;padding:6px}.woocommerce ul.products li.product .woocommerce-loop-product__title{font:600 18px/1.35 var(--display);color:var(--ink);padding:0 14px!important}.woocommerce ul.products li.product .price{font-size:13px;font-weight:800;color:var(--forest);padding:0 14px}.woocommerce ul.products li.product .button{margin-left:14px;margin-right:14px}.woocommerce .button,.woocommerce button.button,.woocommerce a.button,.woocommerce input.button,.woocommerce #respond input#submit,.woocommerce-page .button{border-radius:2px;background:var(--forest);color:#fff;padding:13px 18px;font-size:12px;font-weight:800}.woocommerce .button:hover,.woocommerce button.button:hover,.woocommerce a.button:hover,.woocommerce input.button:hover{background:var(--terracotta);color:#fff}.woocommerce .quantity .qty{min-height:39px;max-width:82px}.woocommerce .woocommerce-message,.woocommerce .woocommerce-info{border-top-color:var(--forest)}.woocommerce div.product .product_title{font-size:clamp(32px,4vw,50px)}.woocommerce div.product p.price,.woocommerce div.product span.price{color:var(--forest);font-weight:800}.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:var(--forest)}.woocommerce div.product .woocommerce-tabs ul.tabs li{border-radius:2px}.commerce-content{padding-top:37px;padding-bottom:80px;min-height:50vh}.woocommerce div.product .woocommerce-product-gallery{margin-bottom:40px}.woocommerce div.product form.cart .variations select{padding:9px 13px;background:#fff;border:1px solid var(--stroke)}.woocommerce table.shop_table{background:#fff}.woocommerce .cart-collaterals .cart_totals{margin-top:24px}.woocommerce-checkout #payment{background:var(--cream2)}
.site-footer{background:var(--forest2);color:#f9eccf}.footer-main{display:grid;grid-template-columns:1.7fr 1fr 1fr;gap:45px;padding-top:57px;padding-bottom:49px}.footer-brand>a{color:#fff2d7;font:600 28px var(--display)}.footer-flower{color:var(--sunflower);font-size:18px;vertical-align:top;margin-left:8px}.footer-brand p{max-width:290px;color:#d8e3d6;font-size:13px;line-height:1.75;margin:16px 0}.site-footer h3{font:800 11px var(--sans);color:#efc47a;letter-spacing:1.7px;text-transform:uppercase;margin:8px 0 17px}.site-footer li{margin-bottom:11px}.site-footer li a{color:#f6ead9;font-size:13px}.footer-socials{display:flex;flex-wrap:wrap;gap:9px}.footer-socials a,.footer-socials span{padding:6px 10px;border:1px solid #ffffff49;color:#f6ead9;font-size:11px}.footer-socials span{opacity:.72}.footer-bottom{border-top:1px solid #ffffff30;padding-top:17px;padding-bottom:20px;display:flex;align-items:center;justify-content:space-between;gap:15px;flex-wrap:wrap;font-size:11px;color:#d7dfd0}
@media(min-width:1440px){.hero-copy{padding-left:clamp(56px,5vw,94px)}}
@media(max-width:1150px){.header-inner{gap:13px}.nav-items{gap:12px}.nav-items a{font-size:10px}.brand-name{font-size:14px}.brand-symbol{width:41px;height:41px;font-size:31px}.header-shop{font-size:10px;padding:13px}.hero-copy{padding-left:42px}}
@media(max-width:960px){.header-shop{display:none}.container{width:min(calc(100% - 40px),1180px)}.hero-inner{min-height:465px}.hero-copy{padding:50px 26px}.hero-art{min-height:465px}.quote-sticker{left:22px;width:min(320px,calc(100% - 44px))}.quote-band-inner{gap:26px}.quote-band-side{padding-left:26px}.category-tile{padding:20px;min-height:162px}.culture-copy{padding:35px}.article-layout{gap:30px;grid-template-columns:minmax(0,1fr) 210px}}
@media(max-width:780px){.header-inner{min-height:77px;position:relative}.menu-toggle{display:flex;margin-left:auto}.primary-nav{display:none;position:absolute;top:100%;left:-20px;right:-20px;background:var(--cream);z-index:400;border-top:1px solid var(--stroke);box-shadow:var(--shadow);padding:13px 22px 21px}.primary-nav.is-open{display:block}.nav-items{display:block}.nav-items li{border-bottom:1px solid var(--stroke)}.nav-items a{font-size:13px;padding:12px}.hero-inner{display:flex;flex-direction:column}.hero-copy{padding:53px 32px 42px}.hero-copy h1{font-size:clamp(45px,8vw,72px)}.hero-art{min-height:400px}.quote-sticker{left:22px;bottom:20px}.categories-grid,.product-grid,.woocommerce ul.products{grid-template-columns:repeat(2,minmax(0,1fr))}.story-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.quote-band-inner{grid-template-columns:1fr;gap:10px;padding:47px 0}.quote-band-side{border-left:0;border-top:1px solid #ffffff45;padding:22px 0 0}.culture-spotlight{grid-template-columns:1fr}.culture-pattern{min-height:250px}.article-layout{display:block}.article-side{display:none}.footer-main{gap:22px}}
@media(max-width:540px){.container{width:min(calc(100% - 32px),1180px)}.section{padding:49px 0}.section-intro{display:block}.section-intro>p{text-align:left;max-width:none;margin-top:12px}.section-intro>.text-link{display:inline-block;margin-top:12px}.hero-copy{padding:43px 22px 36px}.hero-copy h1{font-size:clamp(40px,10vw,57px);line-height:1.08}.hero-copy p{font-size:14px}.hero-actions{flex-direction:column;width:100%}.hero-actions a{width:100%}.hero-art{min-height:0;display:flex;flex-direction:column;overflow:visible;background:var(--cream2)}.hero-art .hero-portrait{position:relative;inset:auto;width:100%;height:380px;object-fit:cover;object-position:center 27%}.hero-art .hero-ornament{inset:0 0 auto;height:380px}.quote-sticker{position:relative;width:min(330px,calc(100% - 32px));padding:19px 22px;margin:-42px 16px 28px;left:auto;bottom:auto}.quote-sticker p{font-size:20px}.hero-credit{top:354px;bottom:auto}.brand-ribbon{font-size:9px;letter-spacing:1.1px}.brand-ribbon i{padding:0 5px}.categories-grid{gap:10px}.category-tile{padding:15px;min-height:140px}.category-tile h3{font-size:21px}.category-tile .tile-icon{font-size:28px}.category-tile span:last-child{font-size:9px}.story-grid{grid-template-columns:1fr}.story-image{height:205px}.product-grid,.woocommerce ul.products{gap:10px}.product-info{padding:10px}.product-info h3{font-size:16px}.product-info-foot>a{font-size:10px}.product-label{font-size:8px;padding:5px}.culture-copy{padding:36px 23px}.page-hero-inner{padding:50px 0}.article-layout{padding-top:38px}.entry-content{font-size:15px}.footer-main{grid-template-columns:1fr 1fr;gap:25px;padding-top:43px}.footer-brand{grid-column:1/-1}.footer-bottom{font-size:10px}.woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:16px}.woocommerce div.product .product_title{font-size:34px}}

/*
 * Unified Vibrant Roots site frame.
 * Keep header, all editorial sections, WooCommerce, footer and homepage hero
 * aligned to the same centred content width.
 */
:root{--qot-frame-max:1280px;--qot-frame-gap:clamp(18px,3vw,44px)}
.container,.hero-inner{width:calc(100% - var(--qot-frame-gap) - var(--qot-frame-gap));max-width:var(--qot-frame-max);margin-inline:auto}
.hero-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);min-height:600px;align-items:stretch}
.hero-copy{min-width:0;padding:clamp(40px,5vw,70px) clamp(22px,3vw,44px) clamp(40px,5vw,70px) 0}
.hero-copy h1{font-size:clamp(2.65rem,4.25vw,4.85rem);line-height:1.1;max-width:100%;overflow-wrap:break-word}
.hero-art{min-width:0;min-height:600px;overflow:hidden;isolation:isolate;background:radial-gradient(circle at 72% 22%,#c9a78a 0%,#ad8b74 42%,#705040 100%)}
.hero-art .hero-portrait{position:absolute;left:auto;right:0;top:0;bottom:0;width:58%;height:100%;max-width:none;object-fit:cover;object-position:center 26%;filter:saturate(.98);-webkit-mask-image:linear-gradient(to right,transparent 0%,#000 8%,#000 100%);mask-image:linear-gradient(to right,transparent 0%,#000 8%,#000 100%)}
.hero-art .quote-sticker{left:clamp(16px,2vw,30px);right:auto;bottom:34px;width:min(320px,46%);max-width:calc(100% - 36px);padding:clamp(16px,2vw,26px);box-sizing:border-box}
.hero-art .quote-sticker p{font-size:clamp(19px,1.75vw,23px);line-height:1.37;white-space:normal;overflow-wrap:break-word}
.hero-art .quote-sticker small{white-space:normal;letter-spacing:1px;overflow-wrap:anywhere}
.section-intro,.story-grid,.product-grid,.quote-band-inner,.footer-main{min-width:0}
.story-grid>*,.product-grid>*,.quote-band-inner>*,.footer-main>*{min-width:0}
.woocommerce ul.products li.product{min-width:0;max-width:100%}
@media(max-width:880px){
  .hero-inner{display:flex;flex-direction:column;min-height:0}
  .hero-copy{padding:44px 0 35px}
  .hero-copy h1{font-size:clamp(2.65rem,6.1vw,4.35rem)}
  .hero-art{min-height:500px}
  .hero-art .hero-portrait{width:58%;object-position:center 26%}
  .hero-art .quote-sticker{left:26px;bottom:26px;width:min(320px,44%)}
}
@media(max-width:540px){
  .hero-copy{padding:40px 0 32px}
  .hero-art{min-height:0;display:flex;flex-direction:column;overflow:visible;background:var(--cream2)}
  .hero-art .hero-portrait{display:block;position:relative;inset:auto;width:100%;height:clamp(360px,115vw,480px);max-width:100%;object-fit:cover;object-position:center 25%;-webkit-mask-image:none;mask-image:none}
  .hero-art .hero-ornament{inset:0 0 auto;height:clamp(360px,115vw,480px)}
  .hero-art .quote-sticker{position:relative;left:auto;right:auto;bottom:auto;width:calc(100% - 40px);max-width:none;margin:-32px 20px 27px;padding:23px 25px}
  .hero-art .quote-sticker p{font-size:21px}
  .hero-art .hero-credit{bottom:auto;top:calc(clamp(360px,115vw,480px) - 25px)}
}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
