/* AYS typography: preserve the palette and composition, make content readable. */
:root{--muted:#655a5c}
body{font-size:16px;font-weight:400;line-height:1.65}
h1,h2,h3{font-weight:500;line-height:1.12}
p{line-height:1.7}
.eyebrow{font-size:13px;font-weight:600;letter-spacing:.12em;color:#71575b}
.button,.button.small{font-size:15px;font-weight:600;min-height:46px;line-height:1.5;padding:12px 20px}
.text-link{font-size:15px;min-height:44px;align-items:center;gap:12px}
.icon-button,.menu-toggle{min-width:44px;min-height:44px}
.topbar{font-size:13px;font-weight:500}
.topbar .container{min-height:40px}.topbar a{min-height:44px}.topbar svg{width:16px;height:16px}
.nav-wrap{gap:24px;min-height:100px}
#navigation{gap:19px;align-items:center}
#navigation a{font-size:15px;font-weight:600;min-height:44px;display:flex;align-items:center}
#navigation a:after{bottom:3px;height:2px}
#navigation a[aria-current]{color:#80575e}
.header-cta{font-size:14px!important;min-height:46px!important;padding:12px 16px!important;gap:9px}
.ticker-track span{font-size:13px;font-weight:500;letter-spacing:.025em}.announcement{height:40px}
.hero h1{line-height:1.07}.hero .eyebrow{font-size:13px}
.hero-copy>p,.pricing-intro p,.cta-section p,.page-heading p,.product-lead,.prose{font-size:16px;font-weight:400;line-height:1.75}
.hero-copy>p{max-width:470px}.hero-actions{gap:20px}.hero-actions .button{font-size:15px}
.hero-note{font-size:14px}.hero-note small{font-size:13px}.hero-caption,.hero-caption span:first-child{font-size:12px;color:#655a5c;letter-spacing:.035em}
.promise-bar,.promise-bar span{font-size:14px}.promise-bar{padding-inline:15px}
.category-card strong{font-size:28px;font-weight:600;line-height:1.25}.category-card small{font-size:14px}
.category-pills a{font-size:15px;min-height:44px}
.card-meta{font-size:13px;letter-spacing:.015em;line-height:1.5;flex-wrap:wrap;justify-content:flex-start}
.card-meta span:last-child{font-size:13px;text-align:left}.product-card h3{font-size:23px;font-weight:600;line-height:1.25}
.card-bottom{font-size:17px;font-weight:600;align-items:center}.card-bottom small{font-size:13px;font-weight:400;display:block;margin:2px 0 0}
.card-bottom>a{min-width:44px;min-height:44px}.card-bottom svg{width:19px;height:19px}
.badge{font-size:13px;font-weight:500;padding:5px 10px}.card-hover{font-size:15px;min-height:44px}
.steps p{font-size:16px;line-height:1.7}.steps h3{line-height:1.25}.steps article>span{color:#80575e}
.footer-grid h2{font-size:16px;font-weight:600}.footer-grid p,.footer-grid>div>a:not(.footer-brand),.footer-grid .text-link,.social-links{font-size:15px;line-height:1.7}
.footer-grid>div>a:not(.footer-brand){padding:4px 0;margin-bottom:3px}
.footer-brand span{font-size:11px}.footer-bottom{font-size:13px}.social-links a{min-height:44px;display:inline-flex;align-items:center}
.visit span{font-size:16px}.visit small{font-size:14px;line-height:1.65}
.floating-wa{font-size:14px;min-height:48px;min-width:48px}
.breadcrumb{font-size:14px;line-height:1.6;align-items:center}.breadcrumb a{min-height:44px;display:inline-flex;align-items:center}.breadcrumb span[aria-current]{font-weight:500}
.catalog-chips a{font-size:14px;min-height:44px;display:flex;align-items:center}.catalog-toolbar{font-size:15px}.filters select{min-width:230px}.search-label input{width:270px;padding-left:40px}.search-label svg{top:22px}
.filter-toggle{min-height:44px;font-size:15px}.pagination a{min-width:44px;min-height:44px;font-size:16px}
label,input,select,textarea{font-size:16px;font-weight:400;line-height:1.5}
label{font-weight:500}input,select,textarea{min-height:46px;padding:12px}
input[type=file]{font-size:15px}input[type=checkbox],input[type=radio]{min-height:18px;width:18px;flex-shrink:0}
.price-options legend{font-size:16px;font-weight:500}.price-options label{font-size:15px;line-height:1.5;min-height:58px;padding:13px}
.price-options strong{font-size:17px}.price-options small{font-size:13px;line-height:1.5}
.single-price strong{font-size:38px;font-weight:600}.single-price span,.single-price del{font-size:16px}
.minimum{font-size:14px;line-height:1.7}.small-note,.demo-note{font-size:13px;line-height:1.65}
.specifications>div{font-size:16px;line-height:1.65;padding:12px 0}
.product-info summary{font-size:16px;font-weight:500;min-height:44px;display:flex;align-items:center;gap:10px}.product-info summary:before{content:'+';font-size:20px}.product-info details[open] summary:before{content:'−'}
.product-info details p{font-size:16px;line-height:1.75}.gallery-main>span{font-size:13px;min-height:44px;display:flex;align-items:center}
.gallery-thumbs button{min-width:60px;min-height:60px}
.price-list-model small,.price-list-model span{font-size:14px}.price-list-tiers{font-size:16px;line-height:1.6}
.contact-item span{font-size:14px}.contact-item p,.contact-form>p,.map-link{font-size:16px}.notice{font-size:16px;line-height:1.7}
.admin-body{font-size:16px}.admin-sidebar nav a{font-size:14px;min-height:44px;display:flex;align-items:center}.admin-top{font-size:14px}
.admin-heading .button,.admin-panel>p,.admin-panel .text-link,.admin-search .button{font-size:15px}.admin-panel h2{font-size:20px;line-height:1.3}
.stats-grid span{font-size:15px}table{font-size:15px}th{font-size:13px}td small,.status{font-size:13px}
.delete-button{font-size:14px;min-height:44px;padding:10px}.edit-form label{font-size:16px}.save-bar>span{font-size:14px}.edit-form label>span.muted{font-size:14px}
.message-heading span{font-size:14px}.auth-card>p{font-size:16px}.auth-card .text-link{font-size:15px}
.image-caption{font-size:14px;color:var(--muted);margin-top:12px;line-height:1.65}
.seo-help{font-size:14px!important;line-height:1.7;margin-top:8px;color:var(--muted)}
.seo-preview{margin-top:24px;padding:22px;border:1px solid var(--border);background:var(--cream);overflow-wrap:anywhere}
.seo-preview-url{font-size:14px;color:#486153}.seo-preview-title{font:500 21px/1.4 var(--sans);color:#354c7c;margin:8px 0}.seo-preview-description{font-size:15px;line-height:1.6}
.seo-counter{display:block;font-size:13px;color:var(--muted);margin-top:6px}.seo-counter.long{color:#87501f}
@media(max-width:1280px){
 .menu-toggle{display:inline-flex!important}.header-cta{margin-left:auto}
 #navigation{position:absolute;top:100%;left:0;right:0;background:var(--paper);border-bottom:1px solid var(--border);flex-direction:column;align-items:stretch;gap:0;padding:18px 36px 25px;visibility:hidden;opacity:0;transform:translateY(-8px);transition:opacity .2s,transform .2s,visibility .2s;max-height:calc(100dvh - 145px);overflow:auto}
 #navigation.open{visibility:visible;opacity:1;transform:translateY(0)}#navigation a{padding:12px 0;min-height:48px;border-bottom:1px solid var(--border);font-size:17px}#navigation a:after{display:none}.mobile-cta{display:flex!important;color:#80575e}
 .hero-actions{flex-wrap:wrap}.filters{flex-wrap:wrap}.catalog-toolbar{flex-wrap:wrap}.filters{width:100%}.footer-grid{gap:30px}
}
@media(max-width:800px){
 .nav-wrap{min-height:88px}.promise-bar{flex-wrap:wrap;justify-content:center;gap:13px 24px}
 .card-meta,.card-meta span:last-child{font-size:13px}.card-bottom small{display:block;margin-left:0}
 .hero-caption{flex-wrap:wrap}.hero-caption span:last-child{display:block}.category-card small{font-size:14px}
 .steps p{font-size:16px}.admin-sidebar nav{grid-template-columns:repeat(2,minmax(0,1fr))}
 .admin-sidebar>form{position:static}.admin-sidebar>.text-link{position:static}.admin-sidebar .button{min-height:44px;font-size:14px;padding:10px 16px}
 .admin-top{font-size:13px}.admin-gallery label{font-size:16px}.save-bar .button{font-size:15px}
}
@media(max-width:600px){
 body{font-size:16px}.topbar .container{min-height:38px;flex-wrap:wrap;gap:0 14px;padding-block:5px;justify-content:center}.topbar span,.topbar a{font-size:12px;max-width:none}
 .topbar span{display:none}.topbar a{min-height:44px}.brand{width:90px}.header-cta{font-size:13px!important;padding:11px 12px!important;min-height:44px!important}.nav-wrap{gap:10px;min-height:80px}
 #navigation{padding-inline:20px}#navigation a{font-size:18px;min-height:50px}
 .announcement{height:38px}.ticker-track span{font-size:13px}
 .hero .eyebrow,.section-heading .eyebrow,.cta-section .eyebrow{font-size:12px;letter-spacing:.08em}
 .hero h1{font-size:clamp(48px,14vw,61px);line-height:1.12}.hero-copy>p{font-size:16px;line-height:1.7}
 .hero-actions{gap:12px 20px}.hero-actions .button{font-size:14px;min-height:48px;padding:13px 17px}.hero-actions .text-link{font-size:15px;gap:9px}
 .hero-caption,.hero-caption span:first-child,.hero-caption span:last-child{font-size:12px}.promise-bar span{font-size:13px;line-height:1.6}.promise-bar span:last-child{display:flex}
 .section-heading .text-link,.visit .text-link{font-size:15px}
 .category-card small{font-size:14px}.category-pills a{font-size:14px;flex-basis:100%;justify-content:space-between;min-height:44px}
 .product-card h3{font-size:20px;line-height:1.3;font-weight:600}.card-meta span:last-child{margin-top:5px}.card-bottom{font-size:16px;flex-wrap:wrap;gap:4px}.card-bottom small{font-size:13px}
 .card-bottom>a{min-width:44px;min-height:44px;margin-left:auto}.badge{font-size:13px}.pricing-intro p,.cta-section p,.page-heading p,.prose{font-size:16px;line-height:1.7}.steps p{font-size:16px}.cta-section .button{font-size:14px;min-height:48px}
 .visit small{font-size:14px}.footer-grid h2{font-size:16px}.footer-grid p,.footer-grid>div>a:not(.footer-brand),.footer-grid .text-link{font-size:16px;line-height:1.65}
 .footer-grid>div>a:not(.footer-brand){min-height:44px;display:flex;align-items:center}.footer-bottom{font-size:13px;padding-right:10px}.footer-brand span{font-size:11px}
 .breadcrumb{font-size:14px}.catalog-chips a{font-size:14px;padding:9px 12px;min-height:44px}.filter-toggle{font-size:15px;min-height:44px;padding:10px 14px}
 input,select,textarea,.contact-form label,.edit-form label{font-size:16px}.form-grid{gap:10px}
 .product-info .eyebrow{font-size:13px}.product-lead{font-size:16px}.price-options{grid-template-columns:1fr}.price-options label{font-size:16px;min-height:60px;gap:12px;flex-wrap:nowrap}.price-options strong{font-size:17px}.price-options small{font-size:13px}
 .product-info .wide{font-size:15px;min-height:52px}.minimum{font-size:14px}.specifications>div{font-size:16px;grid-template-columns:1fr 1.3fr}.gallery-main>span{font-size:13px}
 .price-list-tiers{font-size:16px}.price-list-model small,.price-list-model span{font-size:14px}.contact-form>p{font-size:16px}
 .stats-grid span{font-size:14px}.admin-sidebar nav a{font-size:14px;line-height:1.5;min-height:48px}.admin-gallery{grid-template-columns:1fr}.message-heading .button{font-size:14px}.checkbox-row{gap:16px}.admin-top{font-size:13px}
}
@media(max-width:375px){.header-cta{font-size:12px!important;padding-inline:9px!important}.hero-caption{justify-content:flex-start}.hero-caption span:last-child{font-size:12px}.hero-actions .button{font-size:14px}.hero h1{font-size:50px}}

/* Horizontal brand: fixed image slot avoids shifts and preserves the wordmark. */
.brand.brand-horizontal{width:220px;height:54px;flex:0 0 auto;display:flex;align-items:center;justify-content:flex-start;overflow:hidden}
.brand.brand-horizontal img{width:100%;height:100%;max-height:none;object-fit:contain;object-position:center}
.brand.brand-horizontal.brand-wordmark img{object-fit:cover}
@media(max-width:800px){.brand.brand-horizontal{width:200px;height:50px}}
@media(max-width:600px){
 .brand.brand-horizontal{width:clamp(160px,48vw,200px);height:46px}
 .nav-wrap .header-cta{display:none}
 .nav-wrap .menu-toggle{margin-left:auto;flex-shrink:0}
}

.footer-brand.footer-brand-logo{display:flex;flex-direction:column;align-items:flex-start;width:min(240px,100%);max-width:100%}
.footer-brand.footer-brand-logo img{display:block;width:100%;height:60px;object-fit:contain;object-position:center}
.footer-brand.footer-brand-logo.brand-wordmark img{object-fit:cover}
.footer-brand.footer-brand-logo span{font-size:11px;line-height:1.6;margin-top:6px}
.footer-grid .footer-email{overflow-wrap:anywhere;max-width:100%;line-height:1.7}
.footer .footer-bottom{align-items:center}
.footer-bottom .footer-copyright{display:flex;flex-wrap:wrap;align-items:center;gap:0 6px;min-width:0;line-height:1.7}
.footer-bottom .footer-credit{display:inline-flex;align-items:center;min-height:44px;max-width:100%;font-size:13px;font-weight:500;color:#80575e;text-decoration:underline;text-decoration-color:#cfb3b8;text-underline-offset:4px;overflow-wrap:anywhere}
.footer-bottom .footer-credit:hover{color:var(--ink);text-decoration-color:currentColor}
@media(max-width:600px){
 .footer-brand.footer-brand-logo{width:min(220px,100%)}
 .footer-brand.footer-brand-logo img{height:54px}
 .footer .footer-bottom{align-items:flex-start}
 .footer-bottom .footer-copyright{gap:0 8px}
}

/* Home section flow and order steps. */
.decorative-star{display:inline-block;width:1em;height:1em;vertical-align:middle;flex-shrink:0}
.cta-flower .decorative-star{display:block}
.home-featured{padding-bottom:48px}
.home-pricing{padding-top:0}
.home-pricing>.container{border-top:1px solid var(--border);padding-top:40px}
.home-order .center-heading h2{font-size:clamp(28px,3.2vw,44px);line-height:1.2;overflow-wrap:anywhere}
.home-order .steps article{min-width:0}
.home-order .steps h3{line-height:1.3}
.home-order .steps p{font-size:16px;line-height:1.75;max-width:100%}
.home-order+.cta-section{margin-top:0}
@media(max-width:768px){
 .home-order .steps{grid-template-columns:1fr;gap:26px}
 .home-order .steps article{display:grid;grid-template-columns:48px minmax(0,1fr);gap:10px 18px;padding-top:22px}
 .home-order .steps article>span{grid-column:1;grid-row:1/3;font-size:32px;line-height:1.3;margin:0}
 .home-order .steps h3{grid-column:2;font-size:26px;margin:0}
 .home-order .steps p{grid-column:2;margin:0}
}
@media(max-width:600px){
 .home-featured{padding-bottom:28px}
 .home-pricing>.container{padding-top:28px}
 .home-order .steps article{grid-template-columns:40px minmax(0,1fr);column-gap:14px}
 .home-order .steps h3{font-size:24px}
}
