:root { --spacing-lg: 1.5rem; --spacing-md: 1rem; --spacing-sm: 0.75rem; --spacing-xl: 2rem; --spacing-xs: 0.5rem; --color-scrim: color-mix(in oklab, #000000 65%, transparent); --spacing-2xl: 3rem; --spacing-3xl: 4rem; --color-accent: #b76e79; --color-border: #c4c4c4; --font-size-lg: clamp(1.125rem, 1.05rem + 0.6vw, 1.25rem); --font-size-sm: clamp(0.85rem, 0.82rem + 0.15vw, 0.95rem); --font-size-xl: clamp(1.35rem, 1.3rem + 0.9vw, 1.6rem); --font-size-xs: clamp(0.72rem, 0.7rem + 0.1vw, 0.8rem); --color-neutral: #c4c4c4; --color-outline: #c4c4c4; --color-overlay: color-mix(in oklab, #000000 40%, transparent); --color-primary: #efdde9; --color-surface: #fff9f0; --divider-value: 1px solid var(--color-outline); --font-size-2xl: clamp(1.6rem, 1.5rem + 1.2vw, 2rem); --font-size-3xl: clamp(2.2rem, 2rem + 1.8vw, 2.8rem); --font-size-4xl: clamp(3rem, 2.6rem + 2.4vw, 4rem); --font-size-base: 1rem; --shadow-level-1: 0 1px 3px rgba(0, 0, 0, 0.06); --shadow-level-2: 0 6px 20px rgba(0, 0, 0, 0.12); --shadow-level-3: 0 18px 40px rgba(0, 0, 0, 0.18); --color-backplate: color-mix(in oklab, #000000 55%, transparent); --color-on-accent: #ffffff; --color-secondary: #c09221; --border-radius-lg: 16px; --border-radius-md: 10px; --border-radius-sm: 6px; --border-radius-xl: 24px; --color-on-primary: #ffffff; --color-on-surface: #0d0d0d; --font-family-body: "Montserrat", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; --font-weight-body: 400; --line-height-body: 1.6; --content-max-width: 76rem; --border-radius-card: 16px; --border-radius-full: 9999px; --border-radius-none: 0px; --color-on-secondary: #ffffff; --font-style-heading: normal; --font-weight-medium: 600; --font-family-heading: "Merriweather", serif; --font-weight-heading: 700; --letter-spacing-body: 0.02em; --line-height-heading: 1.25; --dl-layout-size-large: 144px; --dl-layout-size-small: 48px; --dl-layout-space-unit: 16px; --border-radius-control: 6px; --dl-layout-size-medium: 96px; --dl-layout-size-xlarge: 192px; --dl-layout-size-xsmall: 16px; --font-style-subheading: normal; --color-surface-elevated: color-mix(in oklab, #fff9f0 92%, #d4af37); --dl-color-theme-accent1: #FFFFFF; --dl-color-theme-accent2: #F5D1B0; --dl-layout-radius-round: 50%; --dl-layout-size-xxlarge: 288px; --letter-spacing-heading: 0.06em; --text-transform-heading: none; --dl-color-theme-primary1: #BF4408; --dl-color-theme-primary2: #E65103; --dl-layout-size-maxwidth: 1400px; --dl-layout-radius-radius2: 2px; --dl-layout-radius-radius4: 4px; --dl-layout-radius-radius8: 8px; --dl-layout-space-halfunit: 8px; --dl-layout-space-sixunits: 96px; --dl-layout-space-twounits: 32px; --dl-color-theme-secondary1: #FFFFFF; --dl-color-theme-secondary2: #FBF1EB; --dl-layout-space-fiveunits: 80px; --dl-layout-space-fourunits: 64px; --color-on-surface-secondary: #4d4d4d; --dl-layout-space-threeunits: 48px; --dl-color-theme-neutral-dark: #191818; --dl-layout-radius-cardradius: 8px; --dl-color-theme-neutral-light: #FBFAF9; --dl-layout-radius-imageradius: 8px; --dl-layout-radius-inputradius: 24px; --dl-layout-radius-buttonradius: 24px; --dl-layout-space-oneandhalfunits: 24px; } .button { color: var(--dl-color-theme-neutral-dark); display: inline-block; padding: 0.5rem 1rem; border-color: var(--dl-color-theme-neutral-dark); border-width: 1px; border-radius: 4px; background-color: var(--dl-color-theme-neutral-light); } .input { color: var(--dl-color-theme-neutral-dark); cursor: auto; padding: 0.5rem 1rem; border-color: var(--dl-color-theme-neutral-dark); border-width: 1px; border-radius: 4px; background-color: var(--dl-color-theme-neutral-light); } .textarea { color: var(--dl-color-theme-neutral-dark); cursor: auto; padding: 0.5rem; border-color: var(--dl-color-theme-neutral-dark); border-width: 1px; border-radius: 4px; background-color: var(--dl-color-theme-neutral-light); } .list { width: 100%; margin: 1em 0px 1em 0px; display: block; padding: 0px 0px 0px 1.5rem; list-style-type: none; list-style-position: outside; } .list-item { display: list-item; } .teleport-show { display: flex !important; transform: none !important; } .thq-input { color: var(--dl-color-theme-neutral-dark); cursor: auto; outline: none; padding: 0.5rem 1rem; align-self: stretch; text-align: center; border-color: var(--dl-color-theme-neutral-dark); border-width: 1px; border-radius: var(--dl-layout-radius-inputradius); background-color: var(--dl-color-theme-neutral-light); } .thq-input:focus { outline: 1px solid var(--dl-color-theme-primary1); } .thq-button-filled { gap: var(--dl-layout-space-halfunit); fill: var(--dl-color-theme-secondary1); color: var(--dl-color-theme-secondary1); cursor: pointer; display: flex; transition: 0.3s; align-items: center; font-weight: bold; padding-top: var(--dl-layout-space-halfunit); white-space: nowrap; border-color: var(--dl-color-theme-primary1); border-width: 1px; padding-left: var(--dl-layout-space-oneandhalfunits); border-radius: var(--dl-layout-radius-buttonradius); padding-right: var(--dl-layout-space-oneandhalfunits); padding-bottom: var(--dl-layout-space-halfunit); justify-content: center; background-color: var(--dl-color-theme-primary1); } .thq-button-filled:hover { fill: var(--dl-color-theme-secondary2); color: var(--dl-color-theme-secondary2); border-color: var(--dl-color-theme-primary2); background-color: var(--dl-color-theme-primary2); } .thq-button-outline { gap: var(--dl-layout-space-halfunit); fill: var(--dl-color-theme-primary1); color: var(--dl-color-theme-primary1); border: 1px solid; cursor: pointer; display: flex; transition: 0.3s; align-items: center; font-weight: bold; padding-top: var(--dl-layout-space-halfunit); white-space: nowrap; border-color: var(--dl-color-theme-primary1); padding-left: var(--dl-layout-space-oneandhalfunits); border-radius: var(--dl-layout-radius-buttonradius); padding-right: var(--dl-layout-space-oneandhalfunits); padding-bottom: var(--dl-layout-space-halfunit); justify-content: center; } .thq-button-outline:hover { fill: var(--dl-color-theme-secondary2); color: var(--dl-color-theme-secondary2); border-color: var(--dl-color-theme-primary2); background-color: var(--dl-color-theme-primary2); } .thq-button-flat { gap: var(--dl-layout-space-halfunit); fill: var(--dl-color-theme-primary1); color: var(--dl-color-theme-primary1); cursor: pointer; display: flex; transition: 0.3s; align-items: center; font-weight: bold; padding-top: var(--dl-layout-space-halfunit); white-space: nowrap; border-color: transparent; border-width: 1px; padding-left: var(--dl-layout-space-oneandhalfunits); border-radius: var(--dl-layout-radius-buttonradius); padding-right: var(--dl-layout-space-oneandhalfunits); padding-bottom: var(--dl-layout-space-halfunit); justify-content: center; } .thq-button-flat:hover { fill: var(--dl-color-theme-secondary1); color: var(--dl-color-theme-secondary1); border-color: var(--dl-color-theme-primary2); background-color: var(--dl-color-theme-primary2); } .thq-heading-1 { font-size: 48px; font-family: STIX Two Text; font-weight: 700; line-height: 1.5; } .thq-heading-2 { font-size: 35px; font-family: STIX Two Text; font-weight: 600; line-height: 1.5; } .thq-heading-3 { font-size: 26px; font-family: STIX Two Text; font-weight: 600; line-height: 1.5; } .thq-body-large { font-size: 18px; font-family: Noto Sans; line-height: 1.5; } .thq-body-small { font-size: 16px; font-family: Noto Sans; line-height: 1.5; } .thq-team-image-round { width: 80px; height: 80px; object-fit: cover; border-radius: 50%; } .thq-section-padding { width: 100%; display: flex; padding: var(--dl-layout-space-fiveunits); position: relative; align-items: center; flex-direction: column; } .thq-section-max-width { width: 100%; max-width: var(--dl-layout-size-maxwidth); } .thq-img-ratio-1-1 { width: 100%; object-fit: cover; aspect-ratio: 1/1; border-radius: var(--dl-layout-radius-imageradius); } .thq-img-ratio-16-9 { width: 100%; object-fit: cover; aspect-ratio: 16/9; border-radius: var(--dl-layout-radius-imageradius); } .thq-img-ratio-4-3 { width: 100%; object-fit: cover; aspect-ratio: 4/3; border-radius: var(--dl-layout-radius-imageradius); } .thq-img-ratio-4-6 { width: 100%; object-fit: cover; aspect-ratio: 4/6; border-radius: var(--dl-layout-radius-imageradius); } .thq-img-round { width: 100%; border-radius: var(--dl-layout-radius-round); } .thq-flex-column { gap: var(--dl-layout-space-twounits); display: flex; overflow: hidden; position: relative; align-items: center; flex-direction: column; } .thq-flex-row { gap: var(--dl-layout-space-twounits); display: flex; overflow: hidden; position: relative; align-items: center; } .thq-grid-6 { display: grid; grid-gap: var(--dl-layout-space-twounits); grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr; } .thq-grid-5 { display: grid; grid-gap: var(--dl-layout-space-twounits); grid-template-columns: 1fr 1fr 1fr 1fr 1fr; } .thq-card { gap: var(--dl-layout-space-oneandhalfunits); display: flex; padding: var(--dl-layout-space-twounits); align-items: stretch; border-radius: var(--dl-layout-radius-cardradius); flex-direction: column; } .thq-box-shadow { box-shadow: 0px 0px 5px -2px var(--dl-color-theme-neutral-dark); } .thq-grid-3 { display: grid; grid-gap: var(--dl-layout-space-twounits); grid-template-columns: 1fr 1fr 1fr; } .thq-grid-4 { display: grid; grid-gap: var(--dl-layout-space-twounits); grid-template-columns: 1fr 1fr 1fr 1fr; } .thq-grid-2 { width: 100%; display: grid; grid-gap: var(--dl-layout-space-twounits); grid-template-columns: 1fr 1fr; } .thq-checkbox { width: var(--dl-layout-size-xsmall); height: var(--dl-layout-size-xsmall); } .thq-select { cursor: pointer; appearance: none; padding-top: var(--dl-layout-space-halfunit); padding-left: var(--dl-layout-space-unit); border-radius: var(--dl-layout-radius-inputradius); padding-right: var(--dl-layout-space-twounits); padding-bottom: var(--dl-layout-space-halfunit); background-color: var(--dl-color-theme-neutral-light); background-image: url('data:image/svg+xml;charset=US-ASCII,%3Csvg width%3D%2220%22 height%3D%2220%22 xmlns%3D%22http%3A//www.w3.org/2000/svg%22 viewBox%3D%220 0 20 20%22 fill%3D%22%23000%22%3E%3Cpath d%3D%22M4.293 7.293a1 1 0 011.414 0L10 11.586l4.293-4.293a1 1 0 111.414 1.414l-5 5a1 1 0 01-1.414 0l-5-5a1 1 0 010-1.414z%22/%3E%3C/svg%3E'); background-repeat: no-repeat; background-position: right 8px center; } .thq-divider-horizontal { width: 100%; height: 1px; background-color: var(--dl-color-theme-neutral-dark); } .thq-icon-small { width: 24px; height: 24px; } .thq-button-icon { fill: var(--dl-color-theme-secondary1); padding: 3px; transition: 0.3s; border-radius: var(--dl-layout-radius-round); } .thq-button-icon:hover { fill: var(--dl-color-theme-secondary2); } .thq-icon-medium { width: var(--dl-layout-size-small); height: var(--dl-layout-size-small); } .thq-icon-x-small { width: var(--dl-layout-size-xsmall); height: var(--dl-layout-size-xsmall); } .thq-link { cursor: pointer; display: inline-block; overflow: hidden; background: linear-gradient(to right, var(--dl-color-theme-primary1) 50%, var(--dl-color-theme-neutral-dark) 50%); transition: background-position 300ms ease; font-weight: 600; background-clip: text; background-size: 200% 100%; background-position: 100%; -webkit-text-fill-color: transparent; } .thq-link:hover { background-position: 0 100%; } .thq-grid-auto-300 { display: grid; grid-gap: var(--dl-layout-space-oneandhalfunits); grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); } .thq-animated-group-vertical-reverse { gap: var(--dl-layout-space-unit); width: 100%; display: flex; animation: scroll-y 20s linear infinite; align-items: flex-start; flex-direction: column; justify-content: space-around; animation-direction: reverse; } .thq-animated-group-horizontal-reverse { gap: var(--dl-layout-space-unit); display: flex; animation: scroll-x 20s linear infinite; min-width: 100%; align-items: center; flex-shrink: 0; justify-content: space-around; animation-direction: reverse; } .thq-animated-group-vertical { gap: var(--dl-layout-space-unit); width: 100%; display: flex; animation: scroll-y 20s linear infinite; align-items: flex-start; flex-direction: column; justify-content: space-around; } .thq-animated-group-horizontal { gap: var(--dl-layout-space-unit); display: flex; animation: scroll-x 20s linear infinite; min-width: 100%; align-items: center; flex-shrink: 0; justify-content: space-around; } .thq-animated-group-container-vertical { gap: var(--dl-layout-space-unit); display: flex; overflow: hidden; flex-direction: column; } .thq-animated-group-container-horizontal { gap: var(--dl-layout-space-unit); display: flex; overflow: hidden; } .thq-mask-image-vertical { mask-image: linear-gradient(to bottom, transparent, black 1%, black 99%, transparent); } .thq-mask-image-horizontal { mask-image: linear-gradient(to right, transparent, black 1%, black 99%, transparent); } .thq-img-scale { transition: 0.3s; } .thq-img-scale:hover { scale: 1.05; } .thq-animated-card-bg-1 { width: 100%; height: 100%; transition: transform 0.3s; border-radius: var(--dl-layout-radius-cardradius); background-color: var(--dl-color-theme-accent1); } .thq-animated-card-bg-2 { transition: transform 0.3s; border-radius: var(--dl-layout-radius-cardradius); background-color: var(--dl-color-theme-accent2); } .thq-button-animated { outline: none; z-index: 1; overflow: hidden; position: relative; border-width: 2px; } .thq-input::placeholder { text-align: center; vertical-align: middle; } .thq-animated-group-container-vertical:hover div { animation-play-state: paused; } .thq-animated-group-container-horizontal:hover div { animation-play-state: paused; } .thq-animated-card-bg-2:has([data-animated="true"]:hover) { transform: translate3d(0px, 0px, 0px) scale3d(1, 1, 1) rotateX(0deg) rotateY(0deg) rotateZ(3deg) skew(0deg, 0deg); } .thq-animated-card-bg-1:has([data-animated="true"]:hover) { transform: translate3d(0px, 0px, 0px) scale3d(1, 1, 1) rotateX(0deg) rotateY(0deg) rotateZ(-6deg) skew(0deg, 0deg); } .thq-button-animated:before { top: 0; left: -20%; color: var(--dl-color-theme-neutral-light); width: 200%; height: 101%; content: ""; z-index: 1; position: absolute; transform: scaleX(0); transition: transform 0.5s; border-radius: var(--dl-layout-radius-buttonradius); background-color: var(--dl-color-theme-neutral-dark); transform-origin: 0 0; transition-timing-function: cubic-bezier(0.5, 1.6, 0.4, 0.7); } .thq-button-animated:hover::before { color: var(--dl-color-theme-neutral-light); z-index: -1; transform: scaleX(1); } .btn { gap: var(--spacing-xs); border: 1px solid transparent; cursor: pointer; display: inline-flex; padding: var(--spacing-md) var(--spacing-lg); font-size: var(--font-size-base); box-shadow: var(--shadow-level-1); text-align: center; transition: all 0.2s ease-in-out; align-items: center; font-family: var(--font-family-body); font-weight: var(--font-weight-medium); line-height: var(--line-height-body); user-select: none; white-space: nowrap; border-radius: var(--border-radius-control); justify-content: center; text-decoration: none; } .btn-primary { color: var(--color-on-primary); border-color: var(--color-primary); background-color: var(--color-primary); } .btn-secondary { color: var(--color-on-secondary); border-color: var(--color-secondary); background-color: var(--color-secondary); } .btn-accent { color: var(--color-on-accent); border-color: var(--color-accent); background-color: var(--color-accent); } .btn-outline { color: var(--color-primary); border: 1px solid var(--color-primary); background-color: var(--color-surface); } .btn-link { color: var(--color-primary); box-shadow: none; border-color: transparent; text-decoration: underline; background-color: transparent; } .btn-sm { padding: var(--spacing-sm) var(--spacing-md); } .btn-lg { padding: var(--spacing-lg) var(--spacing-xl); } .btn-xl { padding: var(--spacing-xl) var(--spacing-2xl); } .section-title { font-size: var(--font-size-3xl); font-style: var(--font-style-heading); font-family: var(--font-family-heading); font-weight: var(--font-weight-heading); line-height: var(--line-height-heading); letter-spacing: var(--letter-spacing-heading); text-transform: var(--text-transform-heading); } .section-subtitle { opacity: 0.85; font-size: var(--font-size-lg); font-style: var(--font-style-subheading); font-family: var(--font-family-heading); font-weight: var(--font-weight-heading); line-height: var(--line-height-heading); } .section-content { font-size: var(--font-size-base); font-family: var(--font-family-body); font-weight: var(--font-weight-body); line-height: var(--line-height-body); letter-spacing: var(--letter-spacing-body); } .hero-title { font-size: var(--font-size-4xl); font-style: var(--font-style-heading); font-family: var(--font-family-heading); font-weight: var(--font-weight-heading); line-height: var(--line-height-heading); letter-spacing: var(--letter-spacing-heading); text-transform: var(--text-transform-heading); } .hero-subtitle { opacity: 0.85; font-size: var(--font-size-lg); font-style: var(--font-style-subheading); font-family: var(--font-family-body); font-weight: var(--font-weight-body); line-height: var(--line-height-body); } .btn:focus-visible { outline: 2px solid var(--color-outline); outline-offset: 2px; } .btn:disabled { cursor: not-allowed; opacity: 0.6; pointer-events: none; } .btn-primary:hover:not(:disabled) { border-color: color-mix(in oklab, var(--color-primary) 90%, var(--color-surface)); background-color: color-mix(in oklab, var(--color-primary) 90%, var(--color-surface)); } .btn-secondary:hover:not(:disabled) { border-color: color-mix(in oklab, var(--color-secondary) 90%, var(--color-surface)); background-color: color-mix(in oklab, var(--color-secondary) 90%, var(--color-surface)); } .btn-accent:hover:not(:disabled) { border-color: color-mix(in oklab, var(--color-accent) 90%, var(--color-surface)); background-color: color-mix(in oklab, var(--color-accent) 90%, var(--color-surface)); } .btn-outline:hover:not(:disabled) { color: var(--color-on-primary); border-color: var(--color-primary); background-color: var(--color-primary); } .btn-link:hover:not(:disabled) { color: color-mix(in oklab, var(--color-primary) 80%, black); text-decoration: underline; } .navigation-container { top: 0; width: 100%; z-index: 1000; position: sticky; background: var(--color-surface); transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), background-color 0.3s ease; border-bottom: var(--divider-value); } .navigation-wrapper { margin: 0 auto; display: flex; padding: var(--spacing-md) var(--spacing-xl); max-width: var(--content-max-width); align-items: center; justify-content: space-between; } .navigation-logo { color: var(--color-on-surface); display: flex; transition: opacity 0.3s ease; align-items: center; text-decoration: none; } .navigation-desktop-menu { gap: var(--spacing-2xl); display: flex; align-items: center; } .navigation-mobile-toggle { color: var(--color-on-surface); border: none; cursor: pointer; display: none; padding: var(--spacing-xs); background: none; transition: transform 0.2s ease; } .navigation-links { gap: var(--spacing-xl); margin: 0; display: flex; padding: 0; list-style: none; } .navigation-link { color: var(--color-on-surface); padding: var(--spacing-xs) 0; position: relative; font-size: var(--font-size-sm); transition: color 0.3s ease; font-family: var(--font-family-body); font-weight: var(--font-weight-medium); white-space: nowrap; text-decoration: none; } .navigation-mobile-overlay { inset: 0; display: flex; z-index: 1100; position: fixed; transform: translateX(100%); background: var(--color-surface); min-height: 100vh; overflow-y: auto; transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1); visibility: hidden; flex-direction: column; } .navigation-mobile-header { top: 0; display: flex; padding: var(--spacing-md) var(--spacing-xl); z-index: 1110; position: sticky; background: var(--color-surface); align-items: center; border-bottom: var(--divider-value); justify-content: space-between; } .navigation-mobile-content { flex: 1; display: flex; padding: var(--spacing-2xl) var(--spacing-xl); flex-direction: column; } .navigation-mobile-close { color: var(--color-on-surface); border: none; cursor: pointer; padding: var(--spacing-xs); background: none; } .navigation-mobile-links { margin: 0; padding: 0; list-style: none; margin-bottom: var(--spacing-3xl); } .navigation-mobile-footer { gap: var(--spacing-lg); display: flex; opacity: 0; margin-top: auto; transition: opacity 0.5s ease 0.4s; flex-direction: column; padding-bottom: var(--spacing-2xl); } .navigation-mobile-item { opacity: 0; transform: translateY(20px); transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1); border-bottom: var(--divider-value); } .navigation-mobile-info { color: var(--color-on-surface-secondary); font-size: var(--font-size-sm); text-align: center; } .navigation-mobile-link { color: var(--color-on-surface); display: flex; padding: var(--spacing-lg) 0; font-size: var(--font-size-xl); align-items: center; font-family: var(--font-family-heading); font-weight: var(--font-weight-heading); justify-content: space-between; text-decoration: none; } .navigation-logo:hover { opacity: 0.8; } .navigation-logo .section-title { margin: 0; font-size: var(--font-size-lg); white-space: nowrap; } .navigation-link::after { left: 0; width: 0; bottom: 0; height: 2px; content: ""; position: absolute; background: var(--color-primary); transition: width 0.3s cubic-bezier(0.16, 1, 0.3, 1); } .navigation-link:hover { color: var(--color-primary); } .navigation-link:hover::after { width: 100%; } .navigation-mobile-toggle:active { transform: scale(0.9); } .navigation-mobile-overlay.is-active { transform: translateX(0); visibility: visible; } .navigation-mobile-overlay.is-active .navigation-mobile-item { opacity: 1; transform: translateY(0); } .navigation-mobile-overlay.is-active .navigation-mobile-footer { opacity: 1; } .navigation-mobile-item:nth-child(1) { transition-delay: 0.1s; } .navigation-mobile-item:nth-child(2) { transition-delay: 0.15s; } .navigation-mobile-item:nth-child(3) { transition-delay: 0.2s; } .navigation-mobile-item:nth-child(4) { transition-delay: 0.25s; } .navigation-mobile-link svg { color: var(--color-primary); opacity: 0.5; transition: transform 0.3s ease; } .navigation-mobile-link:active svg { transform: translateX(5px); } .footer-root { color: var(--color-surface); padding: var(--spacing-3xl) 0 0 0; overflow: hidden; position: relative; border-top: 1px solid color-mix(in oklab, var(--color-surface) 10%, transparent); background-color: var(--color-on-surface); } .footer-container { margin: 0 auto; padding: 0 var(--spacing-xl); max-width: var(--content-max-width); } .footer-dialog { width: 90%; border: none; padding: 0; max-width: 500px; box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5); border-radius: var(--border-radius-xl); background-color: var(--color-surface); } .footer-grid { gap: var(--spacing-2xl); display: grid; padding-bottom: var(--spacing-3xl); grid-template-columns: 1.5fr 1fr 0.8fr 1.2fr; } .footer-bottom { padding: var(--spacing-xl) 0; border-top: 1px solid color-mix(in oklab, var(--color-surface) 10%, transparent); margin-top: var(--spacing-xl); } .footer-dialog-content { gap: var(--spacing-lg); display: flex; padding: var(--spacing-2xl); flex-direction: column; } .footer-column { gap: var(--spacing-lg); display: flex; flex-direction: column; } .footer-legal { gap: var(--spacing-xl); display: flex; align-items: center; justify-content: space-between; } .footer-form { gap: var(--spacing-md); display: flex; flex-direction: column; } .footer-mission { color: color-mix(in oklab, var(--color-surface) 70%, transparent); max-width: 320px; } .footer-social-group { gap: var(--spacing-md); display: flex; margin-top: var(--spacing-sm); } .footer-col-title { color: var(--color-surface); margin: 0; position: relative; padding-bottom: var(--spacing-sm); } .footer-list { gap: var(--spacing-md); margin: 0; display: flex; padding: 0; list-style: none; flex-direction: column; } .footer-nav { gap: var(--spacing-md); display: flex; flex-direction: column; } .footer-contact-info { gap: var(--spacing-md); display: flex; flex-direction: column; } .footer-copyright { color: color-mix(in oklab, var(--color-surface) 40%, transparent); font-size: var(--font-size-xs); } .footer-legal-links { gap: var(--spacing-lg); display: flex; } .footer-form-actions { gap: var(--spacing-md); display: flex; margin-top: var(--spacing-md); } .footer-logo-text { color: var(--color-primary); font-size: var(--font-size-2xl); font-family: var(--font-family-heading); font-weight: var(--font-weight-heading); letter-spacing: var(--letter-spacing-heading); text-transform: uppercase; } .footer-social-link { color: var(--color-surface); width: 44px; height: 44px; display: flex; transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275); align-items: center; border-radius: var(--border-radius-full); justify-content: center; background-color: color-mix(in oklab, var(--color-surface) 10%, transparent); } .footer-list-item { gap: var(--spacing-sm); color: color-mix(in oklab, var(--color-surface) 85%, transparent); display: flex; transition: transform 0.3s ease; align-items: center; } .footer-nav-link { color: color-mix(in oklab, var(--color-surface) 75%, transparent); width: fit-content; transition: all 0.3s ease; text-decoration: none; } .footer-contact-item { gap: var(--spacing-sm); display: flex; align-items: center; } .footer-btn-submit { width: 100%; transition: all 0.4s ease; border-radius: var(--border-radius-full); letter-spacing: 0.05em; } .footer-legal-link { color: color-mix(in oklab, var(--color-surface) 40%, transparent); font-size: var(--font-size-xs); transition: color 0.3s ease; text-decoration: none; } .footer-input { color: var(--color-on-surface); width: 100%; border: 1px solid var(--color-border); padding: var(--spacing-md) var(--spacing-lg); background: var(--color-surface-elevated); transition: border-color 0.3s ease; font-family: var(--font-family-body); border-radius: var(--border-radius-md); } .footer-col-title::after { left: 0; width: 40px; bottom: 0; height: 2px; content: ""; position: absolute; background-color: var(--color-primary); } .footer-list-item:hover { color: var(--color-primary); transform: translateX(8px); } .footer-list-item svg { color: var(--color-primary); flex-shrink: 0; } .footer-nav-link:hover { color: var(--color-primary); padding-left: 8px; } .footer-contact-item a { color: var(--color-surface); transition: color 0.3s ease; text-decoration: none; } .footer-contact-item a:hover { color: var(--color-primary); } .footer-contact-item svg { color: var(--color-primary); } .footer-social-link:hover { color: var(--color-on-primary); transform: translateY(-5px) rotate(8deg); box-shadow: 0 10px 20px rgba(0, 0, 0, 0.3); background-color: var(--color-primary); } .footer-btn-submit:hover { transform: scale(1.05); box-shadow: 0 0 30px color-mix(in oklab, var(--color-primary) 30%, transparent); } .footer-legal-link:hover { color: var(--color-surface); } .footer-dialog::backdrop { background: var(--color-scrim); backdrop-filter: blur(8px); } .footer-input:focus { outline: none; box-shadow: 0 0 0 3px color-mix(in oklab, var(--color-primary) 15%, transparent); border-color: var(--color-primary); } .footer-root::before { top: -150px; right: -150px; width: 400px; height: 400px; content: ""; position: absolute; background: radial-gradient(circle, color-mix(in oklab, var(--color-primary) 15%, transparent) 0%, transparent 70%); border-radius: var(--border-radius-full); pointer-events: none; } .hero-section { height: 100vh; display: flex; overflow: hidden; position: relative; background: var(--color-surface); min-height: 700px; align-items: center; } .hero-video-container { top: 0; left: 0; width: 100%; height: 100%; z-index: 1; position: absolute; } .hero-overlay { top: 0; left: 0; width: 100%; height: 100%; z-index: 2; position: absolute; background: var(--color-scrim); } .hero-content { width: 100%; padding: 0 var(--spacing-xl); z-index: 3; position: relative; } .hero-text-block { color: var(--color-surface); max-width: 800px; } .home-hero-title { text-shadow: 0 2px 10px rgba(0, 0, 0, 0.3); margin-bottom: var(--spacing-lg); } .home-hero-subtitle { font-size: var(--font-size-xl); max-width: 650px; margin-bottom: var(--spacing-2xl); } .hero-cta-group { gap: var(--spacing-xl); display: flex; align-items: flex-start; flex-direction: column; } .hero-badges { gap: var(--spacing-lg); display: flex; flex-wrap: wrap; } .hero-badge-item { gap: var(--spacing-sm); border: 1px solid rgba(255, 255, 255, 0.1); display: flex; padding: var(--spacing-sm) var(--spacing-md); font-size: var(--font-size-sm); background: var(--color-backplate); align-items: center; border-radius: var(--border-radius-full); backdrop-filter: blur(10px); } .advantages-section { padding: var(--spacing-3xl) 0; background: var(--color-surface); } .section-container { margin: 0 auto; padding: 0 var(--spacing-xl); max-width: var(--content-max-width); } .advantages-header { text-align: center; margin-bottom: var(--spacing-3xl); } .advantages-grid { gap: var(--spacing-xl); display: grid; grid-template-columns: repeat(3, 1fr); } .advantage-card { border: 1px solid var(--color-border); padding: var(--spacing-xl); background: var(--color-surface-elevated); transition: transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275), box-shadow 0.3s ease; border-radius: var(--border-radius-card); } .advantage-icon { color: var(--color-on-primary); width: 50px; height: 50px; display: flex; background: var(--color-primary); align-items: center; border-radius: var(--border-radius-md); margin-bottom: var(--spacing-lg); justify-content: center; } .cases-section { padding: var(--spacing-3xl) 0; background: var(--color-surface-elevated); } .cases-intro { padding: 0 var(--spacing-xl); text-align: center; margin-bottom: var(--spacing-3xl); } .cases-grid { display: grid; grid-template-rows: repeat(2, 400px); grid-template-columns: repeat(3, 1fr); } .case-card { cursor: pointer; overflow: hidden; position: relative; } .case-image { width: 100%; height: 100%; object-fit: cover; transition: transform 0.6s ease; } .case-overlay { top: 0; left: 0; color: var(--color-surface); width: 100%; height: 100%; display: flex; padding: var(--spacing-xl); z-index: 2; position: absolute; background: linear-gradient(to top, var(--color-scrim) 0%, transparent 70%); transition: background 0.3s ease; flex-direction: column; justify-content: flex-end; } .case-category { opacity: 0.8; font-size: var(--font-size-xs); margin-bottom: var(--spacing-xs); letter-spacing: 0.1em; text-transform: uppercase; } .mission-section { padding: var(--spacing-3xl) 0; background: var(--color-surface); } .mission-grid { gap: var(--spacing-2xl); display: flex; } .mission-column { flex: 1; padding: var(--spacing-xl); background: var(--color-surface-elevated); border-left: 4px solid var(--color-secondary); border-radius: 0 var(--border-radius-md) var(--border-radius-md) 0; } .process-section { padding: var(--spacing-3xl) 0; background: var(--color-surface-elevated); } .process-steps { gap: var(--spacing-xl); display: flex; margin-top: var(--spacing-2xl); } .process-step { flex: 1; position: relative; } .step-number { color: var(--color-primary); opacity: 0.2; font-size: var(--font-size-4xl); font-family: var(--font-family-heading); font-weight: 900; margin-bottom: -20px; } .step-content { z-index: 2; position: relative; } .stats-section { color: var(--color-on-primary); padding: var(--spacing-3xl) 0; background: var(--color-primary); } .stats-grid { gap: var(--spacing-2xl); display: grid; text-align: center; grid-template-columns: repeat(3, 1fr); } .stat-value { display: block; font-size: var(--font-size-4xl); font-family: var(--font-family-heading); font-weight: var(--font-weight-heading); margin-bottom: var(--spacing-xs); } .stat-label { opacity: 0.9; font-size: var(--font-size-lg); } .testimonials-section { padding: var(--spacing-3xl) 0; overflow: hidden; background: var(--color-surface); } .testimonials-rail { gap: var(--spacing-xl); display: flex; padding: var(--spacing-xl); overflow-x: auto; scrollbar-width: none; scroll-snap-type: x mandatory; } .testimonial-card { flex: 0 0 450px; border: 1px solid var(--color-border); display: flex; padding: var(--spacing-2xl); background: var(--color-surface-elevated); border-radius: var(--border-radius-card); flex-direction: column; justify-content: space-between; scroll-snap-align: center; } .testimonial-author { display: flex; margin-top: var(--spacing-xl); flex-direction: column; } .author-name { color: var(--color-on-surface); font-weight: var(--font-weight-medium); } .author-role { color: var(--color-on-surface-secondary); font-size: var(--font-size-sm); } .final-cta-section { padding: var(--spacing-3xl) 0; background: var(--color-surface-elevated); } .cta-card { border: 1px solid var(--color-border); display: flex; overflow: hidden; background: var(--color-surface); box-shadow: 0 30px 60px rgba(0, 0, 0, 0.1); border-radius: var(--border-radius-xl); } .cta-content { flex: 1; padding: var(--spacing-3xl); background: var(--color-surface-elevated); } .cta-form-wrapper { flex: 1; padding: var(--spacing-3xl); } .cta-info { gap: var(--spacing-md); display: flex; margin-top: var(--spacing-2xl); flex-direction: column; } .cta-form { gap: var(--spacing-lg); display: flex; flex-direction: column; } .cta-contact { gap: var(--spacing-md); color: var(--color-primary); display: flex; align-items: center; font-weight: var(--font-weight-medium); } .form-group { gap: var(--spacing-xs); display: flex; flex-direction: column; } .modal-header { display: flex; align-items: center; margin-bottom: var(--spacing-xl); justify-content: space-between; } .modal-form { gap: var(--spacing-md); display: flex; flex-direction: column; } .close-btn { color: var(--color-on-surface-secondary); border: none; cursor: pointer; background: transparent; } .hero-video-container video { width: 100%; height: 100%; object-fit: cover; } .advantage-card:hover { transform: translateY(-10px); box-shadow: 0 20px 40px rgba(0, 0, 0, 0.05); } .case-card:hover .case-image { transform: scale(1.1); } .case-card:hover .case-overlay { background: linear-gradient(to top, var(--color-scrim) 0%, rgba(0, 0, 0, 0.4) 100%); } .testimonials-rail::-webkit-scrollbar { display: none; } .form-group input { border: 1px solid var(--color-border); padding: var(--spacing-md); background: var(--color-surface); transition: border-color 0.3s ease; font-family: var(--font-family-body); border-radius: var(--border-radius-control); } .form-group textarea { border: 1px solid var(--color-border); padding: var(--spacing-md); background: var(--color-surface); transition: border-color 0.3s ease; font-family: var(--font-family-body); border-radius: var(--border-radius-control); } .form-group input:focus { outline: none; border-color: var(--color-primary); } .BodyFont { font-size: 1rem; font-family: Montserrat; font-weight: 400; line-height: 1.6; letter-spacing: 0.02em; } .Headings { font-size: 2em; font-family: Merriweather; font-weight: 700; line-height: 1.2; letter-spacing: 0.02em; } .Content { font-size: 16px; font-family: Inter; font-weight: 400; line-height: 1.15; text-transform: none; text-decoration: none; } @media(max-width: 991px) { .thq-grid-4 { grid-template-columns: 1fr 1fr 1fr; } .navigation-desktop-menu { gap: var(--spacing-lg); } .navigation-links { gap: var(--spacing-md); } .footer-grid { gap: var(--spacing-xl); grid-template-columns: 1fr 1fr; } .advantages-grid { grid-template-columns: repeat(2, 1fr); } .cases-grid { grid-template-rows: repeat(3, 400px); grid-template-columns: repeat(2, 1fr); } .mission-grid { flex-direction: column; } .stats-grid { grid-template-columns: repeat(2, 1fr); } .cta-card { flex-direction: column; } } @media(max-width: 767px) { .thq-section-padding { padding: var(--dl-layout-space-threeunits); } .thq-flex-column { gap: var(--dl-layout-space-oneandhalfunits); } .thq-flex-row { gap: var(--dl-layout-space-oneandhalfunits); } .thq-grid-6 { grid-gap: var(--dl-layout-space-oneandhalfunits); grid-template-columns: 1fr 1fr 1fr; } .thq-grid-5 { grid-gap: var(--dl-layout-space-oneandhalfunits); grid-template-columns: 1fr 1fr 1fr; } .thq-card { padding: var(--dl-layout-space-oneandhalfunits); } .thq-grid-3 { grid-gap: var(--dl-layout-space-oneandhalfunits); grid-template-columns: 1fr 1fr; } .thq-grid-4 { grid-gap: var(--dl-layout-space-oneandhalfunits); flex-direction: row; grid-template-columns: 1fr 1fr; } .thq-grid-2 { grid-gap: var(--dl-layout-space-oneandhalfunits); grid-template-columns: 1fr; } .thq-img-scale { width: 100%; } .navigation-wrapper { padding: var(--spacing-sm) var(--spacing-md); } .navigation-desktop-menu { display: none; } .navigation-mobile-toggle { display: block; } .footer-legal { gap: var(--spacing-md); text-align: center; flex-direction: column; } .home-hero-title { font-size: var(--font-size-3xl); } .process-steps { flex-direction: column; } .testimonial-card { flex: 0 0 320px; } } @media(max-width: 479px) { .thq-section-padding { padding: var(--dl-layout-space-oneandhalfunits); } .thq-flex-column { gap: var(--dl-layout-space-unit); } .thq-flex-row { gap: var(--dl-layout-space-unit); } .thq-grid-6 { grid-gap: var(--dl-layout-space-unit); grid-template-columns: 1fr 1fr; } .thq-grid-5 { grid-gap: var(--dl-layout-space-unit); grid-template-columns: 1fr 1fr; } .thq-grid-3 { grid-gap: var(--dl-layout-space-unit); align-items: center; grid-template-columns: 1fr; } .thq-grid-4 { grid-gap: var(--dl-layout-space-unit); align-items: center; flex-direction: column; grid-template-columns: 1fr; } .thq-grid-2 { grid-gap: var(--dl-layout-space-unit); } .thq-grid-auto-300 { grid-template-columns: 1fr; } .footer-grid { gap: var(--spacing-xl); grid-template-columns: 1fr; } .footer-form-actions { flex-direction: column; } .hero-cta-group { width: 100%; } .home-btn-lg { width: 100%; } .advantages-grid { grid-template-columns: 1fr; } .cases-grid { grid-template-rows: repeat(6, 350px); grid-template-columns: 1fr; } .stats-grid { grid-template-columns: 1fr; } }