
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;font-size:16px;}
body{
  font-family:var(--font-body);
  color:var(--text);
  background:var(--bg);
  min-height:100vh;
  overflow-x:hidden;
  transition:background var(--transition), color var(--transition);
}
a{color:inherit;text-decoration:none;}
button{font-family:inherit;}
input,textarea,select{font-family:inherit;}
img{max-width:100%;display:block;}

@media (hover: hover) and (pointer: fine) {
  html.cursor-active,
  html.cursor-active body,
  html.cursor-active a, html.cursor-active button, html.cursor-active [role="button"],
  html.cursor-active input, html.cursor-active textarea, html.cursor-active select,
  html.cursor-active label, html.cursor-active .glass-hover, html.cursor-active .ripple-container,
  html.cursor-active .nav-link, html.cursor-active .theme-opt, html.cursor-active .category-chip,
  html.cursor-active .social-pill, html.cursor-active .social-pill *,
  html.cursor-active a *, html.cursor-active button * {
    cursor: none !important;
  }

  html.cursor-active button:disabled,
  html.cursor-active [disabled],
  html.cursor-active .btn-primary:disabled {
    cursor: not-allowed !important;
  }
}

.page{display:none;padding-top:64px;min-height:100vh;position:relative;z-index:10;}
.page.active{display:block;animation:page-fade-in 0.5s ease;}
@keyframes page-fade-in{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:translateY(0);}}

::-webkit-scrollbar{width:12px;height:12px;}
::-webkit-scrollbar-track{background:var(--bg);}
::-webkit-scrollbar-thumb{
  background:linear-gradient(180deg, var(--accent), var(--accent2));
  border-radius:10px;border:3px solid var(--bg);
  background-clip:padding-box;
}
::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg, var(--accent2), var(--accent));border-width:2px;}
::-webkit-scrollbar-corner{background:var(--bg);}
html{scrollbar-color:var(--accent) var(--bg);scrollbar-width:thin;}

.section{
  padding:80px 40px;
  max-width:1200px;margin:0 auto;
  position:relative;z-index:10;
}
.sec-label{
  font-size:0.72rem;letter-spacing:4px;text-transform:uppercase;
  color:var(--accent);font-weight:600;margin-bottom:10px;
}
.sec-title{
  font-family:var(--font-display);
  font-size:clamp(1.8rem,4vw,3rem);
  color:var(--text);margin-bottom:40px;line-height:1.15;
}

.reveal{opacity:0;transform:translateY(24px);transition:opacity 0.6s,transform 0.6s;}
.reveal.visible{opacity:1;transform:none;}

@media(max-width:768px){
  .section{padding:36px 20px;}
  .home-about-section{padding-top:20px;padding-bottom:28px;}
  .teaser-section{padding-top:14px;padding-bottom:14px;}
}

a:focus-visible,
button:focus-visible,
[role="button"]:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible,
[tabindex]:focus-visible,
.nav-link:focus-visible,
.ripple-container:focus-visible,
.category-chip:focus-visible,
.theme-opt:focus-visible{
  outline:2px solid var(--accent);
  outline-offset:2px;
  border-radius:6px;
}

a:focus:not(:focus-visible),
button:focus:not(:focus-visible){outline:none;}

[data-content-key]{white-space:pre-wrap;}
.tl-text,[data-step-field="text"]{white-space:pre-wrap;}
