html { scroll-behavior: smooth; -webkit-font-smoothing: antialiased; }
body { font-family: "DM Sans", Arial, sans-serif; color: #222322; background: #fff; font-size: 16px; line-height: 1.5; }

.container-page { max-width: 1240px; margin: 0 auto; padding-left: 20px; padding-right: 20px; }
@media (min-width: 768px) { .container-page { padding-left: 40px; padding-right: 40px; } }

.t-display { font-size: clamp(42px, 5.4vw, 64px); font-weight: 500; letter-spacing: -0.03em; line-height: 1.02; }
.t-h2 { font-size: clamp(30px, 3.4vw, 40px); font-weight: 400; letter-spacing: -0.02em; line-height: 1.15; }
.t-h2-lg { font-size: clamp(36px, 4.4vw, 54px); font-weight: 400; letter-spacing: -0.03em; line-height: 1.06; }
.t-statement { font-size: clamp(44px, 5.6vw, 68px); font-weight: 400; letter-spacing: -0.035em; line-height: 1.02; }
.t-body { font-size: 16px; line-height: 1.75; }

.arrow-link { display: inline-flex; align-items: center; gap: 4px; font-size: 14px; border-bottom: 1px solid transparent; transition: border-color .25s ease; }
.arrow-link:hover { border-bottom-color: currentColor; }
.arr { display: inline-block; transition: transform .25s ease; }
a:hover .arr, button:hover .arr { transform: translate(2px, -2px); }

.btn-brick { display: inline-flex; align-items: center; gap: 6px; background: #a8402a; color: #fff; font-size: 14px; font-weight: 500; padding: 13px 20px; border-radius: 2px; transition: background-color .25s ease; }
.btn-brick:hover { background: #8c3421; }

.nav-a { font-size: 14px; position: relative; padding: 4px 0; }
.nav-a::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 1px; background: currentColor; transform: scaleX(0); transform-origin: left; transition: transform .3s ease; }
.nav-a:hover::after, .nav-a[aria-current="page"]::after { transform: scaleX(1); }
.m-link[aria-current="page"] { color: #a8402a; }

.img-frame { overflow: hidden; background: #e9e6de; }
.img-frame img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s cubic-bezier(.2,.7,.2,1); }
a:hover .img-frame img, .study:hover .img-frame img { transform: scale(1.035); }
.img-frame img.no-zoom { transition: none; transform: none !important; }

.crumbs { font-size: 13px; color: #6b6c69; }
.crumbs a:hover { color: #222322; }

.next-page { display: block; border-top: 1px solid #dcdbd5; transition: background-color .3s ease; }
.next-page:hover { background: #efefea; }

.tab { font-size: 13px; padding: 2px 0; color: #6b6c69; border-bottom: 1px solid transparent; transition: color .2s ease, border-color .2s ease; }
.tab:hover { color: #222322; }
.tab[aria-pressed="true"] { color: #222322; border-bottom-color: #222322; }

.reveal { opacity: 0; transform: translateY(16px); transition: opacity .9s ease, transform .9s cubic-bezier(.2,.7,.2,1); }
.reveal.in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { .reveal { opacity: 1; transform: none; transition: none; } html { scroll-behavior: auto; } }

.field { width: 100%; background: transparent; border: 0; border-bottom: 1px solid #dcdbd5; padding: 12px 0; font-size: 16px; color: #222322; outline: none; border-radius: 0; transition: border-color .25s ease; }
.field::placeholder { color: #8a8b87; }
.field:focus { border-bottom-color: #222322; }
select.field { appearance: none; -webkit-appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='7' fill='none'%3E%3Cpath d='M1 1l4.5 4.5L10 1' stroke='%23222322'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 2px center; }

#mobileNav { transition: opacity .3s ease, visibility .3s ease; }
#mobileNav:not(.open) { opacity: 0; visibility: hidden; }

.page-enter { animation: pageIn .6s ease both; }
@keyframes pageIn { from { opacity: 0; } to { opacity: 1; } }
@media (prefers-reduced-motion: reduce) { .page-enter { animation: none; } }
