:root{
--color-surface-primary:#FFFFFF;
--color-surface-secondary:#F5F5F2;
--color-surface-banner:#151515;
--color-text-primary:#151515;
--color-text-secondary:#666666;
--color-border-default:#E0E0DE;
--color-accent-primary:#FF6A00;
--color-accent-secondary:#D94F00;
--color-icon-warning:#FF6A00;

--font-heading:Montserrat, Arial, sans-serif;
--font-body:Inter, Arial, sans-serif;

--text-xxl:clamp(2rem,4vw,2.8rem);
--text-xl:clamp(1.8rem,3.2vw,2.2rem);
--text-lg:1.6rem;
--text-md:1.25rem;
--text-base:1rem;
--text-sm:0.92rem;

--space-1:0.25rem;
--space-2:0.5rem;
--space-3:1rem;
--space-4:1.5rem;
--space-5:2rem;
--space-6:3rem;
--space-7:4rem;

--container-max:1220px;
--container-pad:2rem;
--container-pad-mobile:1rem;

--radius:6px;

--transition-fast:150ms ease;
}

*,
*::before,
*::after{
box-sizing:border-box;
margin:0;
padding:0;
}

html{
font-size:16px;
-webkit-text-size-adjust:100%;
}

body{
font-family:var(--font-body);
font-size:var(--text-base);
line-height:1.65;
color:var(--color-text-primary);
background:var(--color-surface-primary);
min-height:100vh;
text-rendering:optimizeLegibility;
}

img,
picture,
video,
canvas,
svg{
display:block;
max-width:100%;
height:auto;
}

input,
button,
textarea,
select{
font:inherit;
color:inherit;
background:none;
border:none;
}

button{
cursor:pointer;
}

a{
color:var(--color-accent-primary);
text-decoration:none;
transition:color var(--transition-fast);
}

a:hover{
color:var(--color-accent-secondary);
text-decoration:underline;
}

:focus-visible{
outline:2px solid var(--color-accent-primary);
outline-offset:2px;
}

h1,h2,h3,h4,h5,h6{
font-family:var(--font-heading);
font-weight:700;
line-height:1.25;
margin-bottom:var(--space-4);
color:var(--color-text-primary);
}

h1{font-size:var(--text-xxl);}
h2{font-size:var(--text-xl);}
h3{font-size:var(--text-lg);}
h4{font-size:var(--text-md);}
h5{font-size:var(--text-base);}
h6{font-size:var(--text-sm);}

p{
margin-bottom:var(--space-4);
color:var(--color-text-primary);
}

ul,ol{
margin-bottom:var(--space-4);
padding-left:1.2rem;
}

li{
margin-bottom:0.5rem;
}

blockquote{
margin-bottom:var(--space-4);
padding-left:var(--space-3);
border-left:3px solid var(--color-border-default);
color:var(--color-text-secondary);
}

hr{
border:none;
border-top:1px solid var(--color-border-default);
margin:var(--space-5) 0;
}

.container{
width:100%;
max-width:var(--container-max);
margin-left:auto;
margin-right:auto;
padding-left:var(--container-pad);
padding-right:var(--container-pad);
}

@media (max-width:768px){
.container{
padding-left:var(--container-pad-mobile);
padding-right:var(--container-pad-mobile);
}
}

.section{
padding-top:var(--space-6);
padding-bottom:var(--space-6);
}

@media (max-width:768px){
.section{
padding-top:var(--space-5);
padding-bottom:var(--space-5);
}
}

.surface-secondary{
background:var(--color-surface-secondary);
}

.card{
background:var(--color-surface-primary);
border:1px solid var(--color-border-default);
border-radius:var(--radius);
padding:var(--space-4);
}

.card > *:last-child{
margin-bottom:0;
}

.button{
display:inline-flex;
align-items:center;
justify-content:center;
padding:0.75rem 1.25rem;
border-radius:var(--radius);
font-weight:600;
background:var(--color-accent-primary);
color:#FFFFFF !important;
text-align:center;
transition:background var(--transition-fast);
}

.button:hover{
background:var(--color-accent-secondary);
}

.button:active{
background:#b84300;
}

.button.secondary{
background:transparent;
border:1px solid var(--color-border-default);
color:var(--color-text-primary) !important;
}

.button.secondary:hover{
border-color:var(--color-accent-primary);
color:var(--color-accent-primary);
}

.input,
textarea,
select{
width:100%;
padding:0.65rem 0.75rem;
border:1px solid var(--color-border-default);
border-radius:var(--radius);
background:var(--color-surface-primary);
}

.input:focus,
textarea:focus,
select:focus{
border-color:var(--color-accent-primary);
outline:none;
}

.label{
display:block;
margin-bottom:0.35rem;
font-size:var(--text-sm);
color:var(--color-text-secondary);
}

.table{
width:100%;
border-collapse:collapse;
font-size:var(--text-sm);
}

.table th,
.table td{
padding:0.75rem;
text-align:left;
border-bottom:1px solid var(--color-border-default);
}

.table th{
font-weight:600;
}

.table tr:nth-child(even){
background:var(--color-surface-secondary);
}

.flex{
display:flex;
gap:var(--space-3);
min-width:0;
}

.flex-col{
flex-direction:column;
}

.flex-wrap{
flex-wrap:wrap;
}

.flex > *{
min-width:0;
}

.warning-banner{
width:100%;
background:var(--color-surface-banner);
color:#FFFFFF;
text-align:center;
padding:0.5rem 1rem;
border-bottom:2px solid var(--color-accent-primary);
font-size:var(--text-sm);
}

.warning-banner span{
color:var(--color-icon-warning);
margin-right:0.5rem;
}

.footer{
background:var(--color-surface-secondary);
padding:var(--space-6) 0;
font-size:var(--text-sm);
}

.footer p{
color:var(--color-text-secondary);
}

.footer a{
color:var(--color-text-primary);
}

.footer a:hover{
color:var(--color-accent-primary);
}

.hidden{
display:none !important;
}

p,
a,
li,
h1,
h2,
h3,
h4,
h5,
h6,
span {
  overflow-wrap: anywhere;
  word-break: normal;
}


.btn,
.btn-outline {
  max-width: 100%;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: normal;
  text-align: center;
  line-height: 1.35;
}