*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth}
body{min-height:100vh;font-family:Inter,system-ui,sans-serif;font-size:1rem;line-height:1.6;font-weight:400;letter-spacing:0.01em;color:#1E293B;background-color:#F0F4F8;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}
img,picture,svg,video,canvas{display:block;max-width:100%;height:auto}
img{object-fit:cover}
input,button,textarea,select{font:inherit;color:inherit;letter-spacing:inherit}
button{background:none;border:none;cursor:pointer;padding:0}
a{color:inherit;text-decoration:none}
ul,ol{list-style:none}
h1,h2,h3,h4,h5,h6{font-family:Georgia,serif;font-weight:700;line-height:1.2;color:#1E293B;overflow-wrap:break-word;text-wrap:balance}
h1{font-size:clamp(2rem,4vw,3rem);line-height:1.2;letter-spacing:-0.01em;margin-block-end:1rem}
h2{font-size:clamp(1.5rem,3vw,2rem);line-height:1.3;font-weight:600;letter-spacing:0em;margin-block-end:1rem}
h3{font-size:clamp(1.25rem,2vw,1.5rem);line-height:1.4;font-weight:600;letter-spacing:0em;margin-block-end:0.75rem}
h4{font-size:1.125rem;line-height:1.4;font-weight:600;margin-block-end:0.75rem}
h5{font-size:1rem;line-height:1.5;font-weight:600;margin-block-end:0.5rem}
h6{font-size:0.875rem;line-height:1.5;font-weight:600;margin-block-end:0.5rem}
p{font-size:1rem;line-height:1.6;font-weight:400;letter-spacing:0.01em;margin-block-end:1rem;overflow-wrap:break-word}
p:last-child{margin-block-end:0}
small{font-size:0.875rem;line-height:1.5;letter-spacing:0.01em}
strong,b{font-weight:700}
em,i{font-style:italic}
blockquote{margin-block-end:1rem;padding-inline-start:1.5rem;border-inline-start:3px solid #06B6D4;color:#475569;font-style:italic}
blockquote:last-child{margin-block-end:0}
figure{margin-block-end:1rem}
figure:last-child{margin-block-end:0}
figcaption{font-size:0.875rem;line-height:1.5;color:#475569;margin-block-start:0.5rem}
hr{border:none;border-top:1px solid #E2E8F0;margin-block:2.5rem}
address{font-style:normal}
table{width:100%;border-collapse:collapse;margin-block-end:1rem}
th,td{padding:0.75rem;border:1px solid #E2E8F0;text-align:start;vertical-align:top}
th{font-weight:600;background-color:#F8FAFC}
caption{font-size:0.875rem;color:#475569;margin-block-end:0.5rem;text-align:start}
code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:0.875em}
pre{background-color:#F8FAFC;border:1px solid #E2E8F0;border-radius:1rem;padding:1rem;overflow-x:auto;margin-block-end:1rem}
pre:last-child{margin-block-end:0}
:focus-visible{outline:2px solid #06B6D4;outline-offset:2px;border-radius:0.25rem}
::selection{background-color:rgba(6,182,212,0.25);color:#1E293B}
.container{width:100%;max-width:72rem;margin-inline:auto;padding-inline:1.5rem}
@media (min-width:48rem){
.container{padding-inline:2.5rem}
}
@media (min-width:72rem){
.container{padding-inline:4rem}
}
.section{padding-block:4rem}
@media (min-width:48rem){
.section{padding-block:6rem}
}
.surface{background:linear-gradient(180deg,#FFFFFF 0%,#F8FAFC 100%);border:1px solid #E2E8F0;border-radius:1.5rem;box-shadow:0 4px 6px -1px rgba(30,41,59,0.1),0 2px 4px -2px rgba(30,41,59,0.1),inset 0 1px 0 rgba(255,255,255,0.8);padding:1.5rem}
@media (min-width:48rem){
.surface{padding:2.5rem}
}
.surface > :last-child{margin-block-end:0}
.card{background:linear-gradient(180deg,#FFFFFF 0%,#F8FAFC 100%);border:1px solid #E2E8F0;border-radius:1.5rem;box-shadow:0 4px 6px -1px rgba(30,41,59,0.1),0 2px 4px -2px rgba(30,41,59,0.1),inset 0 1px 0 rgba(255,255,255,0.8);padding:1.5rem;transition:transform 200ms ease-in-out,box-shadow 200ms ease-in-out}
@media (min-width:48rem){
.card{padding:2.5rem}
}
.card:hover{transform:translateY(-2px);box-shadow:0 10px 15px -3px rgba(30,41,59,0.15),0 4px 6px -4px rgba(30,41,59,0.1),inset 0 1px 0 rgba(255,255,255,0.8)}
.card > :last-child{margin-block-end:0}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:0.5rem;min-height:44px;padding:0.75rem 1.5rem;border-radius:1rem;font-family:Inter,system-ui,sans-serif;font-size:1rem;font-weight:600;line-height:1.2;letter-spacing:0.01em;text-align:center;transition:transform 200ms ease-in-out,box-shadow 200ms ease-in-out,background-color 200ms ease-in-out,border-color 200ms ease-in-out;user-select:none;-webkit-tap-highlight-color:transparent}
.btn:focus-visible{outline:2px solid #06B6D4;outline-offset:2px}
.btn:active{transform:translateY(1px)}
.btn-primary{background:linear-gradient(180deg,#06B6D4 0%,#0891B2 100%);color:#FFFFFF;border:1px solid #0891B2;box-shadow:0 4px 6px -1px rgba(30,41,59,0.1),0 2px 4px -2px rgba(30,41,59,0.1),inset 0 1px 0 rgba(255,255,255,0.25)}
.btn-primary:hover{background:linear-gradient(180deg,#0891B2 0%,#0E7490 100%);box-shadow:0 10px 15px -3px rgba(30,41,59,0.15),0 4px 6px -4px rgba(30,41,59,0.1),inset 0 1px 0 rgba(255,255,255,0.25)}
.btn-primary:active{box-shadow:0 2px 4px -1px rgba(30,41,59,0.1),inset 0 1px 0 rgba(255,255,255,0.25)}
.btn-secondary{background:linear-gradient(180deg,#FFFFFF 0%,#F8FAFC 100%);color:#1E293B;border:1px solid #E2E8F0;box-shadow:0 4px 6px -1px rgba(30,41,59,0.1),0 2px 4px -2px rgba(30,41,59,0.1),inset 0 1px 0 rgba(255,255,255,0.8)}
.btn-secondary:hover{border-color:#CBD5E1;box-shadow:0 10px 15px -3px rgba(30,41,59,0.15),0 4px 6px -4px rgba(30,41,59,0.1),inset 0 1px 0 rgba(255,255,255,0.8)}
.btn-secondary:active{box-shadow:0 2px 4px -1px rgba(30,41,59,0.1),inset 0 1px 0 rgba(255,255,255,0.8)}
.btn-ghost{background:transparent;color:#1E293B;border:1px solid #E2E8F0;box-shadow:none}
.btn-ghost:hover{border-color:#CBD5E1;background-color:rgba(255,255,255,0.5)}
.btn-ghost:active{background-color:rgba(255,255,255,0.75)}
.btn-sm{min-height:36px;padding:0.5rem 1rem;font-size:0.875rem;border-radius:0.5rem}
.btn-lg{min-height:52px;padding:1rem 2rem;font-size:1.125rem;border-radius:1.5rem}
.input,select,textarea{width:100%;min-height:44px;padding:0.75rem 1rem;background-color:#FFFFFF;border:1px solid #E2E8F0;border-radius:1rem;font-family:Inter,system-ui,sans-serif;font-size:1rem;line-height:1.5;letter-spacing:0.01em;color:#1E293B;transition:border-color 200ms ease-in-out,box-shadow 200ms ease-in-out}
.input::placeholder,textarea::placeholder{color:#475569;opacity:0.7}
.input:hover,select:hover,textarea:hover{border-color:#CBD5E1}
.input:focus,select:focus,textarea:focus{outline:none;border-color:#06B6D4;box-shadow:0 0 0 3px rgba(6,182,212,0.3)}
textarea{min-height:120px;resize:vertical}
select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23475569' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;padding-inline-end:2.5rem}
label{display:block;font-size:0.875rem;font-weight:600;line-height:1.5;color:#1E293B;margin-block-end:0.5rem}
fieldset{border:1px solid #E2E8F0;border-radius:1rem;padding:1.5rem;margin-block-end:1rem}
legend{font-family:Georgia,serif;font-weight:600;font-size:1.125rem;padding-inline:0.5rem;color:#1E293B}
.badge{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:0.25rem 0.75rem;border-radius:0.5rem;font-size:0.875rem;font-weight:600;line-height:1.2;letter-spacing:0.01em;background-color:#F8FAFC;border:1px solid #E2E8F0;color:#475569}
.badge-accent{background-color:rgba(6,182,212,0.1);border-color:rgba(6,182,212,0.3);color:#0891B2}
.tag{display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:0.5rem 1rem;border-radius:9999px;font-size:0.875rem;font-weight:500;line-height:1.2;background-color:#F8FAFC;border:1px solid #E2E8F0;color:#475569}
.tag-accent{background-color:rgba(6,182,212,0.1);border-color:rgba(6,182,212,0.3);color:#0891B2}
.grid-auto{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr));gap:1rem}
@media (min-width:48rem){
.grid-auto{gap:1.5rem}
}
.grid-auto > *{min-width:0}
.flex{display:flex;flex-wrap:wrap;gap:1rem;min-width:0}
.flex > *{min-width:0}
.flex-nowrap{flex-wrap:nowrap}
.flex-col{flex-direction:column}
.flex-row{flex-direction:row}
.items-start{align-items:flex-start}
.items-center{align-items:center}
.items-end{align-items:flex-end}
.justify-start{justify-content:flex-start}
.justify-center{justify-content:center}
.justify-end{justify-content:flex-end}
.justify-between{justify-content:space-between}
.gap-xs{gap:0.25rem}
.gap-sm{gap:0.5rem}
.gap-md{gap:1rem}
.gap-lg{gap:1.5rem}
.gap-xl{gap:2.5rem}
.gap-2xl{gap:4rem}
.mt-0{margin-block-start:0}
.mb-0{margin-block-end:0}
.mt-xs{margin-block-start:0.25rem}
.mb-xs{margin-block-end:0.25rem}
.mt-sm{margin-block-start:0.5rem}
.mb-sm{margin-block-end:0.5rem}
.mt-md{margin-block-start:1rem}
.mb-md{margin-block-end:1rem}
.mt-lg{margin-block-start:1.5rem}
.mb-lg{margin-block-end:1.5rem}
.mt-xl{margin-block-start:2.5rem}
.mb-xl{margin-block-end:2.5rem}
.mt-2xl{margin-block-start:4rem}
.mb-2xl{margin-block-end:4rem}
.mt-3xl{margin-block-start:6rem}
.mb-3xl{margin-block-end:6rem}
.text-center{text-align:center}
.text-start{text-align:start}
.text-end{text-align:end}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:absolute;top:-100%;left:1rem;z-index:1000;padding:0.75rem 1.5rem;background-color:#FFFFFF;border:2px solid #06B6D4;border-radius:1rem;color:#1E293B;font-weight:600;transition:top 200ms ease-in-out}
.skip-link:focus{top:1rem}
.content-list{list-style:none;margin-block-end:1rem}
.content-list > li{position:relative;padding-inline-start:1.5rem;margin-block-end:0.5rem}
.content-list > li::before{content:"";position:absolute;left:0;top:0.5em;width:0.5rem;height:0.5rem;border-radius:9999px;background-color:#06B6D4}
.content-list > li:last-child{margin-block-end:0}
.content-list:last-child{margin-block-end:0}
.content-list-ordered{list-style:none;counter-reset:item;margin-block-end:1rem}
.content-list-ordered > li{counter-increment:item;position:relative;padding-inline-start:2rem;margin-block-end:0.5rem}
.content-list-ordered > li::before{content:counter(item);position:absolute;left:0;top:0.25em;width:1.5rem;height:1.5rem;display:flex;align-items:center;justify-content:center;background-color:rgba(6,182,212,0.1);border:1px solid rgba(6,182,212,0.3);border-radius:0.5rem;color:#0891B2;font-size:0.875rem;font-weight:600}
.content-list-ordered > li:last-child{margin-block-end:0}
.content-list-ordered:last-child{margin-block-end:0}
.media-frame{border-radius:1.5rem;overflow:hidden;box-shadow:0 4px 6px -1px rgba(30,41,59,0.1),0 2px 4px -2px rgba(30,41,59,0.1),inset 0 1px 0 rgba(255,255,255,0.8)}
.media-frame img,.media-frame video{width:100%;height:100%;object-fit:cover}
.overlay-gradient{position:relative}
.overlay-gradient::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(30,41,59,0.2) 0%,transparent 100%);border-radius:inherit;pointer-events:none}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media (prefers-reduced-motion:reduce){
*,*::before,*::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;scroll-behavior:auto !important}
}