

:root{
  color-scheme: light;

  --brand-blue:      #E4032B;
  --brand-blue-deep: #B4021F;
  --brand-mint:      #FF6A00;
  --brand-gold:      #C9A227;

  --bg:            #FFFFFF;
  --bg-soft:       #F7F5F3;
  --bg-cream:      #FDF3EC;
  --surface:       #FFFFFF;
  --surface-raised: #FFFFFF;
  --text:          #241414;
  --text-soft:     #6B5A57;
  --text-faint:    #A6928E;
  --border:        #F0E4E0;
  --primary:       var(--brand-blue);
  --primary-deep:  var(--brand-blue-deep);
  --accent:        var(--brand-mint);
  --cta-bg:        var(--brand-blue-deep);
  --cta-text:      #FFFFFF;
  --danger:        #D8262C;
  --shadow-color:  355 30% 45%;
  --shadow-sm: 0 1px 2px hsl(var(--shadow-color) / 0.08);
  --shadow-md: 0 6px 20px hsl(var(--shadow-color) / 0.12);
  --shadow-lg: 0 16px 40px hsl(var(--shadow-color) / 0.16);
  --radius-sm: 10px;
  --radius-md: 16px;
  --radius-lg: 24px;
  --radius-full: 999px;

  --font-display: 'Vazirmatn', 'Segoe UI', sans-serif;
  --font-body: 'Vazirmatn', 'Segoe UI', sans-serif;
  --font-num: 'Vazirmatn', 'Inter', sans-serif;

  --ease-calm: cubic-bezier(.4,0,.2,1);
  --dur-theme: .3s;
}

:root[data-theme="dark"]{
  color-scheme: dark;
  --bg:            #0F0B0B;
  --bg-soft:       #191212;
  --bg-cream:      #1B1413;
  --surface:       #1C1515;
  --surface-raised:#241B1B;
  --text:          #FBF3F1;
  --text-soft:     #D2B9B4;
  --text-faint:    #7D6764;
  --border:        #332423;
  --primary:       #FF5A57;
  --primary-deep:  #E4032B;
  --accent:        #FF8A3D;
  --cta-bg:        #E4032B;
  --cta-text:      #FFFFFF;
  --danger:        #FF6B66;
  --shadow-color:  355 55% 3%;
  --shadow-sm: 0 1px 2px hsl(var(--shadow-color) / 0.4);
  --shadow-md: 0 8px 24px hsl(var(--shadow-color) / 0.5);
  --shadow-lg: 0 20px 48px hsl(var(--shadow-color) / 0.6);
}

*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
html,body{
  margin:0; padding:0;
  background:var(--bg); color:var(--text);
  font-family:var(--font-body);
  transition: background var(--dur-theme) var(--ease-calm), color var(--dur-theme) var(--ease-calm);
}
body{ min-height:100vh; overflow-x:hidden; }
img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
button{ font-family:inherit; }
h1,h2,h3,h4{ font-family:var(--font-display); margin:0; line-height:1.25; }
p{ margin:0; }
ul{ margin:0; padding:0; list-style:none; }

::selection{ background:var(--accent); color:#fff; }

input, select, textarea{
  border: 1.5px solid var(--border);
  border-radius: var(--radius-sm);
  background: var(--bg-soft);
  color: var(--text);
  transition: border-color .15s var(--ease-calm), box-shadow .15s var(--ease-calm), background .15s var(--ease-calm);
}
input:hover, select:hover, textarea:hover{ border-color: color-mix(in srgb, var(--primary) 40%, var(--border)); }
input:focus, select:focus, textarea:focus{
  border-color: var(--primary);
  background: var(--surface);
  outline: none;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--primary) 18%, transparent);
}
input::placeholder, textarea::placeholder{ color: var(--text-faint); }

:focus-visible{
  outline: 2px solid var(--primary);
  outline-offset: 3px;
  border-radius: 4px;
}

@media (prefers-reduced-motion: reduce){
  *{ animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; scroll-behavior:auto !important; }
}

.container{ max-width:1240px; margin:0 auto; padding:0 20px; }
.visually-hidden{
  position:absolute; width:1px;height:1px; overflow:hidden;
  clip:rect(0 0 0 0); white-space:nowrap;
}

*{ scrollbar-width: thin; scrollbar-color: var(--text-faint) transparent; }
*::-webkit-scrollbar{ width:8px; height:8px; }
*::-webkit-scrollbar-track{ background:transparent; }
*::-webkit-scrollbar-thumb{ background:color-mix(in srgb, var(--text-faint) 55%, transparent); border-radius:999px; }
*::-webkit-scrollbar-thumb:hover{ background:var(--text-faint); }
