:root{
--color-bg-warm:#FFF9F0;
--color-primary:#4361EE;
--color-accent-yellow:#FFB703;
--color-cta:#FB8500;
--color-text:#2B2D42;
--color-surface:#FFFFFF;
--color-border:#E6E1D9;

--font-heading:'Montserrat','Arial Rounded MT Bold',Arial,sans-serif;
--font-body:'Inter','Segoe UI',Arial,sans-serif;

--fs-xxl:2.5rem;
--fs-xl:2rem;
--fs-lg:1.5rem;
--fs-md:1.25rem;
--fs-base:1rem;
--fs-sm:0.875rem;

--space-xs:0.5rem;
--space-sm:1rem;
--space-md:1.5rem;
--space-lg:2rem;
--space-xl:3rem;

--radius-sm:16px;
--radius-md:24px;
--radius-lg:32px;

--border:2px solid var(--color-border);
--shadow:0 4px 12px rgba(67,97,238,0.10);

--container-max:1200px;
--container-pad:1.5rem;

--transition-fast:150ms ease;
--transition:200ms ease;
}

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

html{font-size:16px;-webkit-text-size-adjust:100%;}
body{
background:var(--color-bg-warm);
color:var(--color-text);
font-family:var(--font-body);
line-height:1.6;
min-height:100vh;
}

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

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

button{cursor:pointer;}

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

a:hover{
text-decoration:underline;
text-decoration-style:dotted;
}

h1,h2,h3,h4,h5,h6{
font-family:var(--font-heading);
font-weight:700;
line-height:1.2;
margin-block-end:var(--space-sm);
}

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

p{
font-size:var(--fs-base);
margin-block-end:var(--space-sm);
}

ul,ol{
padding-left:1.2em;
margin-block-end:var(--space-sm);
}

li{margin-bottom:0.25em;}

blockquote{
margin-block-end:var(--space-md);
padding:var(--space-sm) var(--space-md);
background:var(--color-surface);
border:var(--border);
border-radius:var(--radius-sm);
}

hr{
border:none;
border-top:var(--border);
margin:var(--space-lg) 0;
}

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

.section{
padding-block:var(--space-xl);
}

.surface{
background:var(--color-surface);
border:var(--border);
border-radius:var(--radius-md);
box-shadow:var(--shadow);
padding:var(--space-md);
}

.surface-primary{
background:var(--color-primary);
color:#fff;
border:2px solid var(--color-primary);
}

.card{
display:flex;
flex-direction:column;
gap:var(--space-sm);
background:var(--color-surface);
border:var(--border);
border-radius:var(--radius-md);
box-shadow:var(--shadow);
padding:var(--space-md);
min-width:0;
}

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

.label{
display:inline-block;
font-size:var(--fs-sm);
text-transform:uppercase;
letter-spacing:0.05em;
background:var(--color-accent-yellow);
padding:0.25rem 0.5rem;
border-radius:var(--radius-sm);
font-weight:600;
}

.button{
display:inline-flex;
align-items:center;
justify-content:center;
gap:0.5rem;
padding:0.6rem 1rem;
border-radius:999px;
font-weight:600;
background:var(--color-cta);
color:#fff;
border:2px solid var(--color-cta);
transition:var(--transition);
}

.button:hover{
background:var(--color-primary);
border-color:var(--color-primary);
transform:translateY(-1px);
}

.button.secondary{
background:var(--color-accent-yellow);
border-color:var(--color-accent-yellow);
color:#000;
}

.grid{
display:grid;
gap:var(--space-md);
min-width:0;
}

.grid-2{grid-template-columns:repeat(2,minmax(0,1fr));}
.grid-3{grid-template-columns:repeat(3,minmax(0,1fr));}

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

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

.media{
position:relative;
width:100%;
overflow:hidden;
border-radius:var(--radius-md);
background:#ddd;
}

.media img{
width:100%;
height:100%;
object-fit:cover;
}

.ratio-16x9{aspect-ratio:16/9;}
.ratio-4x3{aspect-ratio:4/3;}
.ratio-1x1{aspect-ratio:1/1;}

.stack > * + *{margin-top:var(--space-sm);}
.stack-lg > * + *{margin-top:var(--space-md);}

.row{
display:flex;
align-items:center;
justify-content:space-between;
gap:var(--space-sm);
flex-wrap:wrap;
}

.compact > * + *{margin-top:var(--space-xs);}

@media (max-width:1024px){
:root{--container-pad:1rem;}
.grid-3{grid-template-columns:repeat(2,minmax(0,1fr));}
}

@media (max-width:640px){
.grid-2,.grid-3{grid-template-columns:1fr;}
.section{padding-block:var(--space-lg);}
}

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


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


.cta-form{
    display: flex;
    flex-wrap: wrap;
}