:root {
  
  color-scheme: light;

  --c-primary:        #5C0F1E;  
  --c-primary-dark:   #4B0C19;  
  --c-primary-press:  #3E0A14;  
  --c-primary-rule:   #B0222E;  

  --c-graphite:       #2C2120;  
  --c-n800:           #3D3331;  
  --c-n600:           #6E625F;  
  --c-n500:           #8C7E7A;  
  --c-n200:           #F0EBEA;  
  --c-n100:           #FAF8F7;  
  --c-cream:          #E0D7D2;  
  --c-cream-press:    #CFC2BB;  
  --c-white:          #FFFFFF;

  --c-gold:           #A08060;  
  --c-gold-on-dark:   #C7A47A;  
  --c-gold-on-light:  #7C5D3E;  

  --c-success:        #4A7C59;  
  --c-warning:        #8A6A2A;
  --c-error:          #9B2335;  
  --c-info:           #4A5E6E;

  --c-whatsapp:       #25D366;  
  --c-telegram:       #229ED9;  

  --bg-page:          var(--c-n100);
  --bg-surface:       var(--c-white);   
  --bg-warm:          var(--c-cream);   
  --bg-inverse:       var(--c-primary); 
  --bg-inverse-deep:  var(--c-primary-dark); 
  --bg-inverse-dark:  var(--c-graphite);

  --text-primary:     var(--c-graphite);
  --text-secondary:   var(--c-n800);
  --text-meta:        var(--c-n600);    
  --text-accent:      var(--c-primary);

  --text-on-dark:     var(--c-white);
  --text-on-dark-2:   var(--c-cream);   
  --text-on-dark-acc: var(--c-gold-on-dark);

  --border-hairline:  var(--c-n200);              
  --border-on-warm:   rgba(44, 33, 32, .12);      
  --border-on-dark:   rgba(224, 215, 210, .18);   
  --border-on-dark-2: rgba(224, 215, 210, .35);   
  --border-strong:    var(--c-primary);
  --border-accent:    var(--c-gold);

  --overlay-04:       rgba(255, 255, 255, .04);   
  --overlay-06:       rgba(255, 255, 255, .06);   
  --overlay-10:       rgba(255, 255, 255, .10);   
  --scrim:            rgba(44, 33, 32, .55);      

  --font-sans:  'Roboto Condensed', 'RC Fallback', 'Arial Narrow', 'Segoe UI Condensed', sans-serif;
  --font-serif: 'Playfair Display', 'PD Fallback', Georgia, 'Times New Roman', serif;

  --fw-light:  300;
  --fw-regular:400;
  --fw-medium: 500;
  --fw-bold:   700;

  --fs-display:  clamp(2.25rem, 1.414rem + 3.57vw, 4rem);      
  --fs-h1:       clamp(2rem,    1.522rem + 2.04vw, 3rem);      
  --fs-h2:       clamp(1.625rem,1.267rem + 1.53vw, 2.375rem);  
  --fs-h3:       clamp(1.25rem, 1.131rem + 0.51vw, 1.5rem);    
  --fs-h4:       clamp(1.0625rem,1.003rem + 0.255vw, 1.1875rem);
  --fs-body-lg:  clamp(1.0625rem,1.033rem + 0.13vw, 1.125rem); 
  --fs-body:     1rem;        
  --fs-body-sm:  0.9375rem;   
  --fs-sm:       0.875rem;    
  --fs-caption:  0.875rem;    
  --fs-label:    0.8125rem;   

  --fs-num-xl:   clamp(2.75rem, 2.033rem + 3.06vw, 4.25rem);   
  --fs-num-lg:   clamp(2.125rem,1.767rem + 1.53vw, 2.875rem);  
  --fs-num-md:   clamp(1.75rem, 1.571rem + 0.76vw, 2.125rem);  
  --fs-num-sm:   1.375rem;                                     

  --lh-tight:   1.08;  
  --lh-heading: 1.15;  
  --lh-snug:    1.28;  
  --lh-body:    1.6;   
  --lh-relaxed: 1.65;  
  --lh-label:   1.3;

  --tr-display: -0.015em;
  --tr-h1:      -0.012em;
  --tr-h2:      -0.008em;
  --tr-normal:   0;
  --tr-label:    0.1em;   
  --tr-eyebrow:  0.18em;  

  --text-display: var(--fw-bold) var(--fs-display)/var(--lh-tight) var(--font-serif);
  --text-h1:      var(--fw-bold) var(--fs-h1)/var(--lh-heading) var(--font-serif);
  --text-h2:      var(--fw-bold) var(--fs-h2)/var(--lh-heading) var(--font-serif);
  --text-h3:      var(--fw-bold) var(--fs-h3)/var(--lh-snug) var(--font-sans);
  --text-h4:      var(--fw-bold) var(--fs-h4)/var(--lh-snug) var(--font-sans);
  --text-body-lg: var(--fw-regular) var(--fs-body-lg)/var(--lh-body) var(--font-sans);
  --text-body:    var(--fw-regular) var(--fs-body)/var(--lh-body) var(--font-sans);
  --text-sm:      var(--fw-regular) var(--fs-sm)/1.5 var(--font-sans);
  --text-caption: var(--fw-regular) var(--fs-caption)/1.45 var(--font-sans);
  --text-label:   var(--fw-bold) var(--fs-label)/var(--lh-label) var(--font-sans);
  --text-quote:   var(--fw-regular) var(--fs-body-lg)/1.5 var(--font-serif);

  --numeric: tabular-nums lining-nums;

  --sp-1:   4px;
  --sp-2:   8px;
  --sp-3:  12px;
  --sp-4:  16px;
  --sp-5:  20px;
  --sp-6:  24px;
  --sp-7:  28px;
  --sp-8:  32px;
  --sp-10: 40px;
  --sp-12: 48px;
  --sp-14: 56px;
  --sp-16: 64px;
  --sp-20: 80px;
  --sp-24: 96px;
  --sp-30:120px;

  --section-y-sm: clamp(2rem, 1.522rem + 2.04vw, 3rem);      
  --section-y:    clamp(3rem, 2.284rem + 3.06vw, 4.5rem);    
  --section-y-lg: clamp(4rem, 2.806rem + 5.10vw, 6.5rem);    

  --pad-card:  clamp(1.25rem, 0.892rem + 1.53vw, 2rem);      
  --gap-grid:  clamp(1rem,    0.522rem + 2.04vw, 2rem);      
  --gap-stack: var(--sp-3);                                  

  --container-max: 1160px;
  --container-pad: clamp(1.25rem, 0.727rem + 2.23vw, 2rem);  
  --measure:       68ch;   
  --measure-lead:  56ch;   

  --h-tap:            44px;  
  --h-control-sm:     40px;  
  --h-control-md:     48px;  
  --h-control-lg:     56px;  
  --h-cta-hero-2:     52px;  
  --h-row:            56px;  
  --h-row-stepper:    64px;  
  --h-header:         56px;
  --h-header-desktop: 64px;
  --h-stickybar:      64px;
  --w-stepper-btn:    44px;
  --w-stepper-val:    48px;
  --size-check:       20px;  
  --size-icon:        20px;  
  --size-icon-disc:   40px;  

  --safe-bottom: env(safe-area-inset-bottom, 0px);
  --scroll-offset: calc(var(--h-header-desktop) + var(--sp-2)); 

  --r-0:      0;
  --r-1:      2px;   
  --r-2:      3px;   
  --r-sheet:  8px;   
  --r-pill:   999px; 
  --r-circle: 50%;

  --bw-hairline: 1px;
  --bw-medium:   1.5px;  
  --bw-accent:   2px;    
  --bw-edge:     3px;    

  --focus-width:  2px;
  --focus-on-light: var(--c-primary);       
  --focus-on-dark:  var(--c-gold-on-dark);  
  --focus-color:    var(--focus-on-light);
  --focus-offset: 2px;
  --focus-offset-inset: -2px; 

  --shadow-bar:   0 -1px 0 var(--c-n200), 0 -8px 24px rgba(44, 33, 32, .08);
  --shadow-toast: 0 8px 24px rgba(44, 33, 32, .18);
  --shadow-modal: 0 24px 64px rgba(44, 33, 32, .24);

  --dur-instant: 0ms;    
  --dur-fast:  120ms;    
  --dur-base:  200ms;    
  --dur-slow:  240ms;    
  --dur-sweep: 600ms;    
  --dur-toast-hold: 4000ms;

  --ease-out:    cubic-bezier(.2, 0, 0, 1);
  --ease-in-out: cubic-bezier(.4, 0, .2, 1);
  --ease-exit:   cubic-bezier(.4, 0, 1, 1);

  --z-base:            0;
  --z-raised:         10;   
  --z-sticky-summary: 20;   
  --z-header:        100;
  --z-stickybar:     200;
  --z-toast:         300;
  --z-scrim:         400;
  --z-modal:         410;

  --bp-sm:  620px;
  --bp-md:  820px;
  --bp-lg:  960px;
  --bp-xl: 1160px;

  --logo-ratio:      228 / 100;  
  --logo-h-header:   28px;
  --logo-h-footer:   32px;
  --logo-h-max:      42px;       
  --logo-clear:      0.36;       
}

@media (prefers-reduced-motion: reduce) {
  :root {
    --dur-instant: 1ms;
    --dur-fast:    1ms;
    --dur-base:    1ms;
    --dur-slow:    1ms;
    --dur-sweep:   1ms;
  }
}
