/* =========================================================
   EVVA HOME V10 — READABLE TYPE SYSTEM
   User-friendly proportional typography for site + modules.
   Loaded LAST; intentionally overrides legacy tiny labels.
   ========================================================= */
:root{
  --fs-body:clamp(16px,1.02vw,17px);
  --fs-body-lg:clamp(17px,1.18vw,19px);
  --fs-small:13px;
  --fs-label:12.5px;
  --fs-control:15px;
  --lh-body:1.72;
}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{font-size:var(--fs-body)!important;line-height:var(--lh-body)!important}
p,li{line-height:1.72}
small{font-size:13px!important;line-height:1.55!important}

/* Header and navigation */
.topbar-in{font-size:12px!important;line-height:1.35!important;letter-spacing:.08em!important}
.topbar-center{font-size:12px!important}
.nav a,.text-link{font-size:13.5px!important;line-height:1.3!important;letter-spacing:.09em!important}
.btn,.studio-btn,.form button.send{font-size:13px!important;line-height:1.2!important;letter-spacing:.065em!important;min-height:44px!important;padding:13px 20px!important}
.btn-sm{font-size:12.5px!important;min-height:40px!important;padding:11px 16px!important}
.wa{font-size:13px!important;line-height:1.35!important}
.wa strong{font-size:13px!important}

/* Universal editorial labels: still elegant, no microscopic text */
.kicker,.eyebrow,.studio-kicker,.card .cat,.tile .pin,.quote .m,.post i,.badge-soft{
  font-size:var(--fs-label)!important;
  line-height:1.45!important;
  letter-spacing:.14em!important;
}

/* Hero */
.hero .kicker{font-size:12.5px!important}
.hero h1{font-size:clamp(50px,6.1vw,92px)!important;line-height:.94!important}
.hero .lead{font-size:clamp(17px,1.24vw,20px)!important;line-height:1.7!important;max-width:650px!important}
.scroll-cue{font-size:12px!important}
.hero-signature .hs-top,.hero-signature .hs-bottom{font-size:12px!important;line-height:1.45!important}

/* Stats and generic sections */
.stats b{font-size:clamp(28px,2.1vw,38px)!important;line-height:1.05!important}
.stats i{font-size:12px!important;line-height:1.45!important;letter-spacing:.12em!important}
.brand-statement i{font-size:13px!important;line-height:1.55!important}
.sec h2{font-size:clamp(34px,4vw,58px)!important;line-height:1.04!important}
.sec .lead,.sec p{font-size:var(--fs-body-lg)!important;line-height:1.75!important}
.marq .t{font-size:clamp(27px,2.6vw,44px)!important}

/* Collection */
.tile .cap b{font-size:clamp(20px,1.65vw,27px)!important;line-height:1.16!important}
.tile .cap i,.tile .cap span{font-size:12.5px!important;line-height:1.5!important}
.linkcard{font-size:15px!important;line-height:1.5!important}

/* Products */
.pill{font-size:13.5px!important;line-height:1.2!important;min-height:42px!important;padding:11px 17px!important}
.card .cat{font-size:11.5px!important}
.card h3,.card .body h3{font-size:clamp(20px,1.55vw,26px)!important;line-height:1.22!important}
.card .price{font-size:19px!important;line-height:1.25!important}
.card .stock,.card .body p,.card .body small{font-size:13.5px!important;line-height:1.55!important}
.card .body a{font-size:13px!important}

/* Feature / dark sections / editorial content */
.feature .eyebrow{font-size:12px!important}
.feature h3{font-size:clamp(32px,3.3vw,52px)!important;line-height:1.04!important}
.feature p,.feature .parts span,.feature .swatches{font-size:15px!important;line-height:1.65!important}
.dark p,.about p,.quote p,.post p,.info .box p{font-size:clamp(16px,1.1vw,18px)!important;line-height:1.75!important}
.quote .who,.quote .who i{font-size:13.5px!important}
.info .box b{font-size:clamp(20px,1.6vw,27px)!important;line-height:1.2!important}

/* Contact + footer */
.contact h2{font-size:clamp(36px,4.2vw,62px)!important;line-height:1.03!important}
.contact p,.contact .meta,.foot p{font-size:16px!important;line-height:1.72!important}
.contact .meta b{font-size:12.5px!important;letter-spacing:.12em!important}
.form label{font-size:13px!important;line-height:1.4!important}
.form input,.form select,.form textarea{font-size:16px!important;line-height:1.45!important;min-height:48px!important}
.foot .ln,.foot a{font-size:14px!important;line-height:1.55!important}

/* =========================================================
   EVVA STUDIO / ALL 10 MODULES
   ========================================================= */
.studio-hero h1{font-size:clamp(46px,6vw,82px)!important;line-height:.98!important}
.studio-hero p{font-size:clamp(17px,1.25vw,19px)!important;line-height:1.72!important}
.studio-kicker{font-size:12px!important;letter-spacing:.17em!important}
.module-card{padding:32px!important}
.module-card b{font-size:clamp(24px,2vw,31px)!important;line-height:1.12!important;margin-top:58px!important}
.module-card p{font-size:15.5px!important;line-height:1.7!important}
.module-card span{font-size:11.5px!important;letter-spacing:.12em!important;line-height:1.4!important}
.studio-head h1{font-size:clamp(38px,4.7vw,64px)!important;line-height:1.02!important}
.studio-head p{font-size:17px!important;line-height:1.75!important}
.studio-panel p,.portal p,.mini-list>div{font-size:15.5px!important;line-height:1.65!important}
.studio-form label{font-size:12.5px!important;line-height:1.4!important;letter-spacing:.08em!important}
.studio-form input,.studio-form select,.studio-form textarea{font-size:16px!important;line-height:1.45!important;padding:14px 15px!important;min-height:49px!important}
.studio-form textarea{min-height:120px!important}
.studio-btn{font-size:13px!important;min-height:46px!important}
.studio-success,.studio-error{font-size:15px!important;line-height:1.6!important}
.studio-price{font-size:clamp(30px,2.6vw,40px)!important}
.studio-product b{font-size:17px!important;line-height:1.35!important}
.studio-product small{font-size:13.5px!important}
.visual-controls button{font-size:14px!important;min-height:42px!important;padding:10px 14px!important}
.track span{font-size:12.5px!important;line-height:1.35!important;padding:14px 9px!important}
.compare-table th,.compare-table td{font-size:14.5px!important;line-height:1.5!important;padding:15px!important}
.badge-soft{font-size:11.5px!important}
.product-tools button,.product-tools a{font-size:12px!important;line-height:1.2!important;min-height:38px!important;padding:10px 12px!important}
.studio-strip .copy p{font-size:16.5px!important;line-height:1.72!important}
.studio-strip .copy h3{font-size:clamp(36px,4.1vw,54px)!important;line-height:1.02!important}
.studio-strip .links b{font-size:21px!important;line-height:1.2!important}
.studio-strip .links span{font-size:11.5px!important;line-height:1.4!important;letter-spacing:.12em!important}

/* Product detail / blog - catch inline legacy sizes with specific semantic selectors */
.pd p,.pd li,.product-detail p,.product-detail li{font-size:17px!important;line-height:1.75!important}
.blog p,.article p,.post-content p{font-size:17px!important;line-height:1.8!important}

/* Tablet */
@media(max-width:980px){
  :root{--fs-body:16px;--fs-body-lg:17px}
  .nav a,.text-link{font-size:14px!important}
  .module-card p{font-size:15px!important}
}

/* Mobile */
@media(max-width:620px){
  :root{--fs-body:16px;--fs-body-lg:16.5px;--fs-label:11.5px}
  body{line-height:1.68!important}
  .topbar-in{font-size:11px!important}
  .hero h1{font-size:clamp(42px,13vw,62px)!important;line-height:.98!important}
  .hero .lead{font-size:16.5px!important}
  .sec h2{font-size:clamp(30px,9vw,42px)!important}
  .btn,.studio-btn,.form button.send{font-size:13px!important;min-height:46px!important}
  .pill{font-size:13px!important}
  .studio-page{padding-top:48px!important}
  .studio-head h1{font-size:clamp(34px,10vw,48px)!important}
  .studio-head p{font-size:16px!important}
  .studio-form label{font-size:12px!important}
  .studio-form input,.studio-form select,.studio-form textarea{font-size:16px!important} /* prevents iOS zoom */
  .track span{font-size:12px!important}
  .compare-table th,.compare-table td{font-size:13.5px!important}
}
