:root { color-scheme: dark; --paper:#f1f0ea; --muted:#b4b4ad; --accent:#d7fa86; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:24px; }
body { margin:0; background:#0b0b0b; color:var(--paper); font:400 16px/1.6 Inter,system-ui,sans-serif; }
[hidden] { display:none !important; }
a { color:inherit; }
button,input,select,textarea { font:inherit; }
button,a,input,select,textarea { -webkit-tap-highlight-color:transparent; }
button { cursor:pointer; }
a:focus-visible,button:focus-visible,summary:focus-visible { outline:2px solid var(--accent); outline-offset:5px; }
h1,h2,h3,p { margin-top:0; }
h1,h2,h3 { font-weight:500; }
.page-width { width:calc(100% - 80px); max-width:1420px; margin-inline:auto; }
.eyebrow { font-size:11px; text-transform:uppercase; letter-spacing:.14em; margin-bottom:24px; color:var(--muted); }
.skip-link { position:absolute; top:-100px; left:16px; z-index:1001; padding:12px 20px; background:var(--accent); color:#111; }
.skip-link:focus { top:12px; }
.site-header { position:absolute; top:0; left:0; width:100%; z-index:100; }
.site-navigation.navbar { max-width:1500px; margin:auto; padding:24px 40px; min-height:88px; }
.logo-first { font-size:30px; font-weight:500; letter-spacing:-.07em; line-height:1; text-decoration:none; }
.logo-first span { color:var(--accent); }
.last-part { display:flex; align-items:center; }
.button-link { display:flex; align-items:center; text-decoration:none; font-size:13px; }
.button-rounded-tooltip { display:inline-flex; align-items:center; justify-content:center; gap:16px; background:var(--paper); color:#111; border-radius:28px; padding:12px 22px; font-size:13px; font-weight:500; text-decoration:none; min-height:44px; }
.conversion-hero { position:relative; overflow:hidden; min-height:760px; padding:154px 0 72px; }
.hero-backdrop,.hero-shade { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; pointer-events:none; }
.hero-backdrop { opacity:.5; }
.hero-shade { background:linear-gradient(90deg,#0b0b0bef 0%,#0b0b0bac 55%,#0b0b0b70),linear-gradient(0deg,#0b0b0b,transparent 55%); }
.hero-copy { position:relative; z-index:1; }
.hero-copy h1 { max-width:1120px; font-size:clamp(52px,6.1vw,88px); line-height:1.02; letter-spacing:-.067em; margin:0 0 30px; }
.hero-copy h1 span { color:#b9baaF; }
.hero-description { max-width:550px; font-size:17px; color:#d0d0c8; line-height:1.65; margin-bottom:28px; }
.hero-actions { display:flex; flex-wrap:wrap; align-items:center; gap:14px; }
.button { display:inline-flex; align-items:center; justify-content:center; gap:24px; border:1px solid transparent; min-height:52px; padding:14px 22px; border-radius:8px; text-decoration:none; font-size:14px; font-weight:500; line-height:1.4; }
.button.primary { background:var(--accent); color:#172011; }
.button.secondary { background:transparent; color:var(--paper); border-color:#5a5a54; }
.button.text-button { padding-inline:8px; color:var(--paper); }
.button:hover { filter:brightness(1.08); }
.button:disabled { opacity:.65; cursor:wait; }
.hero-note { color:#acaca5; font-size:12px; margin:18px 0 0; }
.video-toggle { position:absolute; bottom:32px; right:40px; z-index:2; font-size:11px; padding:8px 12px; border:1px solid #666; border-radius:20px; color:var(--paper); background:#171717; }
.client-strip { padding:32px 0 36px; border-bottom:1px solid #30302c; display:flex; align-items:center; gap:40px; }
.client-strip p { flex-shrink:0; font-size:11px; letter-spacing:.06em; text-transform:uppercase; color:#aaa; margin:0; }
.client-strip>div { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:16px 32px; width:100%; }
.client-strip a { font-size:19px; letter-spacing:-.035em; text-decoration:none; color:#dadad2; }
.home-page .portfolio-section { padding-top:86px; padding-bottom:70px; }
.portfolio-expand { text-align:center; margin-top:42px; }
.home-page .portfolio-outro { margin-top:40px; }
.content-section { padding-block:88px; }
.section-heading h2,.contact-copy h2 { font-size:clamp(36px,4.5vw,62px); line-height:1.08; letter-spacing:-.06em; margin:0 0 24px; }
.section-heading>p:last-child { max-width:520px; color:var(--muted); margin-bottom:0; }
.service-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; margin-top:44px; }
.service-card { padding:32px; background:#171717; border:1px solid #30302c; border-radius:12px; display:flex; flex-direction:column; }
.service-number { color:#a6a69d; font-size:12px; margin-bottom:32px; }
.service-card h3 { font-size:30px; line-height:1.15; letter-spacing:-.04em; margin:0 0 20px; }
.service-card p,.service-card li { font-size:14px; color:var(--muted); }
.service-card ul { padding-left:18px; margin:0 0 28px; }
.service-card a { margin-top:auto; padding-top:18px; border-top:1px solid #3a3a34; font-size:13px; display:flex; justify-content:space-between; gap:12px; text-decoration:none; }
.process-section { padding:80px 0; background:#d9dfce; color:#20251c; }
.process-section .eyebrow { color:#4b5144; }
.process-grid { list-style:none; padding:0; margin:40px 0 0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:40px; }
.process-grid li { border-top:1px solid #969e8a; padding-top:24px; }
.process-grid span { font-size:12px; color:#505847; }
.process-grid h3 { font-size:21px; line-height:1.3; letter-spacing:-.03em; margin:24px 0 14px; }
.process-grid p { font-size:14px; margin:0; color:#444e3b; }
.faq-section { padding-block:88px; display:grid; grid-template-columns:1fr 1.35fr; gap:80px; }
.faq-list details { border-bottom:1px solid #3a3a34; }
.faq-list summary { position:relative; padding:22px 36px 22px 0; cursor:pointer; list-style:none; font-size:17px; line-height:1.4; }
.faq-list summary::-webkit-details-marker { display:none; }
.faq-list summary::after { content:'+'; position:absolute; right:0; top:20px; font-size:23px; color:var(--accent); }
.faq-list details[open] summary::after { content:'−'; }
.faq-list p { color:var(--muted); font-size:14px; padding:0 28px 22px 0; margin:0; }
.contact-section { padding:90px 0; background:#171717; border-top:1px solid #30302c; }
.contact-grid { display:grid; grid-template-columns:1fr 1.15fr; gap:80px; align-items:start; }
.contact-copy>p:not(.eyebrow) { color:var(--muted); max-width:430px; }
.contact-expectation { display:flex; gap:20px; border-top:1px solid #44443c; padding-top:24px; margin-top:32px; max-width:430px; }
.contact-expectation>span { font-size:24px; color:var(--accent); }
.contact-expectation p { color:var(--muted); font-size:14px; margin:0; }
.contact-expectation strong { color:var(--paper); font-weight:500; }
.contact-panel { scroll-margin-top:28px; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.form-field { margin-bottom:20px; min-width:0; }
.form-field label { display:block; font-size:13px; margin-bottom:8px; }
.form-field label span { color:#aaa; }
.form-field input,.form-field select,.form-field textarea { display:block; width:100%; min-width:0; min-height:50px; border:1px solid #5c5c53; border-radius:7px; background:#20201e; color:var(--paper); padding:12px 14px; font-size:16px; }
.form-field textarea { resize:vertical; min-height:132px; }
.form-field input:focus,.form-field select:focus,.form-field textarea:focus { outline:2px solid var(--accent); outline-offset:2px; }
.form-field textarea::placeholder { color:#a5a59e; font-size:14px; }
.home-page .webye-privacy-check { font-size:12px; margin-top:4px; }
.home-page .webye-privacy-check input { accent-color:var(--accent); }
.submit-button { width:100%; margin-top:24px; }
.form-note { font-size:11px; color:#aaa; margin:12px 0 0; text-align:center; }
.form-status { margin-top:20px; padding:24px; border:1px solid var(--accent); border-radius:8px; color:var(--paper); }
.form-status.is-error { border-color:#efa49d; color:#ffd7d2; }
.honeypot,.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
@media(max-width:991px) {
  .page-width { width:calc(100% - 56px); }
  .conversion-hero { padding-top:130px; min-height:720px; }
  .client-strip { display:block; }.client-strip>div { justify-content:flex-start; gap:16px 28px; margin-top:18px; }
  .service-grid { gap:16px; }.service-card { padding:22px; }.service-card h3 { font-size:25px; }
  .faq-section,.contact-grid { gap:40px; }
  .contact-grid { grid-template-columns:1fr 1.2fr; }
}
@media(max-width:767px) {
  .page-width { width:calc(100% - 40px); }
  .conversion-hero { min-height:0; padding:118px 0 52px; }
  .hero-copy h1 { font-size:clamp(38px,8.7vw,60px); line-height:1.08; letter-spacing:-.055em; margin-bottom:24px; }
  .desktop-break { display:none; }
  .hero-description { font-size:15px; line-height:1.65; }
  .hero-actions { align-items:stretch; gap:6px; }.hero-actions .button { width:100%; }
  .hero-note { font-size:11px; max-width:300px; }
  .client-strip { padding-block:28px; }.client-strip a { font-size:17px; }
  .home-page .portfolio-section { padding-top:56px; padding-bottom:48px; }
  .content-section,.faq-section { padding-block:56px; }
  .service-grid { grid-template-columns:1fr; margin-top:28px; }
  .service-card { padding:26px; }.service-number { margin-bottom:22px; }.service-card h3 { font-size:28px; }.service-card h3 br { display:none; }.service-card h3 br::after { content:' '; }
  .process-section { padding-block:56px; }.process-grid { grid-template-columns:1fr; gap:28px; margin-top:28px; }.process-grid h3 { margin-top:16px; }
  .faq-section,.contact-grid { grid-template-columns:1fr; gap:28px; }
  .contact-section { padding-block:56px; }.contact-copy h2 { font-size:39px; }.contact-expectation { margin-top:24px; }
  .form-row { grid-template-columns:1fr; gap:0; }
  .video-toggle { display:none; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
