.hero{align-items:center;min-height:100vh;padding-top:4rem;display:flex}.hero-content{padding-top:4rem;padding-bottom:4rem}.hero-title{letter-spacing:-.03em;color:var(--text-color);max-width:900px;margin-bottom:2rem;font-size:clamp(2.5rem,6vw,4.5rem);font-weight:800;line-height:1.1}.hero-subtitle{color:#000000b3;max-width:640px;margin-bottom:3rem;font-size:clamp(1rem,2vw,1.25rem);line-height:1.7}.hero-actions{gap:1rem;display:flex}.btn{font-family:var(--font-mono);cursor:pointer;border:1px solid #0000;border-radius:1rem;justify-content:center;align-items:center;padding:1rem 1.5rem;font-size:.875rem;font-weight:600;text-decoration:none;transition:all .2s;display:inline-flex}.btn-primary{background-color:var(--text-color);color:var(--bg-color);border-color:var(--text-color)}.btn-primary:hover{color:var(--text-color);border-color:var(--text-color);background-color:#0000}.btn-secondary{color:var(--text-color);border-color:var(--border-color);background-color:#0000}.btn-secondary:hover{border-color:var(--text-color);background-color:#0000000d}@media (max-width:768px){.hero-actions{flex-direction:column}.btn{width:100%}}
.about{border-top:1px solid var(--border-color);padding:6rem 0}.about-grid{grid-template-columns:1fr 2fr;align-items:start;gap:4rem;display:grid}.about-label{font-family:var(--font-mono);letter-spacing:0;color:var(--text-color);font-size:clamp(3rem,8vw,6rem);font-weight:600;line-height:1}.about-text{letter-spacing:normal;text-wrap:pretty;color:var(--text-color);margin-bottom:2rem;font-size:clamp(1rem,2vw,1.125rem);line-height:1.65}.about-tech{font-family:var(--font-mono);color:#00000080;letter-spacing:.02em;font-size:.875rem}@media (max-width:768px){.about-grid{grid-template-columns:1fr;gap:2rem}.about-label{font-size:clamp(2.5rem,12vw,4rem)}}
.services{border-top:1px solid var(--border-color);padding:6rem 0}.services-title{letter-spacing:-.03em;color:var(--text-color);margin-bottom:3rem;font-size:clamp(2rem,5vw,3rem);font-weight:800}.services-grid{background-color:var(--text-color);border:1px solid var(--text-color);grid-template-columns:repeat(2,1fr);gap:1px;display:grid}.service-card{background-color:var(--bg-color);color:var(--text-color);cursor:default;padding:2rem;transition:background-color .3s,color .3s}.service-card:hover{background-color:var(--text-color);color:var(--bg-color)}.service-id{font-family:var(--font-mono);opacity:.5;margin-bottom:1rem;font-size:.75rem;display:block}.service-name{margin-bottom:1rem;font-size:1.25rem;font-weight:700}.service-desc{font-size:.9375rem;line-height:1.7}@media (max-width:768px){.services-grid{grid-template-columns:1fr}}
.contact{border-top:1px solid var(--border-color);padding:clamp(4rem,10vw,6rem) 0}.contact-header{max-width:720px;margin-bottom:3rem}.contact-title{letter-spacing:-.03em;color:var(--text-color);margin-bottom:1.5rem;font-size:clamp(2rem,5vw,3rem);font-weight:800}.contact-intro{color:var(--text-color);font-size:clamp(1rem,2vw,1.125rem);line-height:1.7}.contact-chat-wrapper{flex-direction:column;align-items:center;gap:1.5rem;display:flex}.contact-topics{background-color:#fff;border:1px solid #000;border-radius:0;width:100%;max-width:600px;margin-top:1.5rem;padding:1.375rem 1.5rem 1.5rem}.contact-topics-title{letter-spacing:-.03em;color:#000;text-align:center;margin-bottom:.625rem;font-size:1.125rem;font-weight:800}.contact-topics-intro{color:#000;text-align:center;margin-bottom:1.25rem;font-size:.9375rem;line-height:1.55}.contact-topics-list{flex-wrap:wrap;justify-content:center;gap:.625rem;margin:0;padding:0;list-style:none;display:flex}button.contact-topic{appearance:none;font-family:var(--font-sans);color:#000;cursor:pointer;background-color:#fff;border:1px solid #000;border-radius:0;margin:0;padding:.625rem 1rem;font-size:.875rem;font-weight:600;line-height:1.35;transition:background-color .2s,color .2s}button.contact-topic:hover:not(:disabled){color:#fff;background-color:#000}button.contact-topic:active:not(:disabled){opacity:.85}button.contact-topic:disabled{opacity:.35;cursor:not-allowed}.chat-widget{background-color:#fff;border:1px solid #0000000f;border-radius:20px;flex-direction:column;width:100%;max-width:600px;height:500px;display:flex;position:relative;overflow:hidden;box-shadow:0 8px 32px #0000000f}.chat-consent{z-index:2;background-color:#fffffffa;border:2px dashed #8b8b8b;border-radius:20px;flex-direction:column;justify-content:center;gap:1rem;padding:1.5rem;display:flex;position:absolute;inset:0}.chat-consent-title{letter-spacing:-.03em;text-align:center;font-size:1.125rem;font-weight:800}.chat-consent-text{text-align:center;color:var(--text-color);font-size:.9375rem;line-height:1.55}.chat-consent-label{cursor:pointer;align-items:flex-start;gap:.75rem;font-size:.875rem;line-height:1.5;display:flex}.chat-consent-label input{accent-color:#000;flex-shrink:0;width:1rem;height:1rem;margin-top:.2rem}button.chat-consent-button{appearance:none;font-family:var(--font-sans);color:#fff;cursor:pointer;background-color:#000;border:1px solid #000;border-radius:0;margin:.25rem auto 0;padding:.75rem 1.25rem;font-size:.875rem;font-weight:700;transition:background-color .2s,color .2s}button.chat-consent-button:hover:not(:disabled){color:#000;background-color:#fff}button.chat-consent-button:disabled{opacity:.25;cursor:not-allowed}.chat-body--locked{opacity:.25;pointer-events:none}.chat-body{background-color:#fff;flex-direction:column;flex:1;gap:.625rem;padding:1.25rem;display:flex;overflow-y:auto}.chat-bubble{letter-spacing:-.01em;max-width:75%;padding:.75rem 1rem;font-size:.9375rem;line-height:1.45}.chat-bubble--bot{color:#1c1c1e;background-color:#f2f2f7;border-radius:20px 20px 20px 6px;align-self:flex-start}.chat-bubble--user{color:#fff;background-color:#007aff;border-radius:20px 20px 6px;align-self:flex-end}.chat-input-bar{background-color:#fff;border-top:1px solid #0000000f;padding:.875rem 1rem}.chat-input-field{width:100%;font-family:var(--font-sans);color:var(--text-color);background-color:#f9f9f9;border:1px solid #0000000f;border-radius:999px;outline:none;padding:.75rem 1.125rem;font-size:.9375rem;transition:border-color .2s}.chat-input-field:disabled{opacity:.55;cursor:not-allowed}.contact-footer{color:#0009;text-align:center;max-width:600px;font-size:.875rem}.contact-link{color:var(--text-color);text-underline-offset:3px;text-decoration:underline}.contact-link:hover{opacity:.6}@media (max-width:768px){.chat-widget{border-radius:16px;height:min(500px,70vh)}.chat-bubble{max-width:88%;font-size:.875rem}}
