@font-face{font-family:Plex;src:url('assets/fonts/plex-sans-400.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Plex;src:url('assets/fonts/plex-sans-600.ttf') format('truetype');font-weight:600;font-display:swap}
@font-face{font-family:PlexMono;src:url('assets/fonts/plex-mono-400.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:SourceSerif;src:url('assets/fonts/source-serif-4-regular.woff2') format('woff2');font-weight:400;font-display:swap}
:root{color-scheme:light;--paper:#f3f2ee;--ink:#1c1e21;--muted:#555a61;--rule:#d3d2cd;--coral:#df5463}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font:400 18px/1.6 Plex,Arial,sans-serif;-webkit-font-smoothing:antialiased}
h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:400}a{color:inherit;text-underline-offset:5px}svg,img{display:block;max-width:100%}
.wrap{width:calc(100% - 128px);max-width:1280px;margin-inline:auto}
:focus-visible{outline:2px solid currentColor;outline-offset:6px}
.skip{position:absolute;top:8px;left:16px;z-index:4;padding:12px 20px;background:var(--ink);color:var(--paper);transform:translateY(-200%)}.skip:focus{transform:none}
.site-header{display:flex;align-items:center;justify-content:space-between;min-height:100px;gap:24px}.brand{display:flex;align-items:center;min-height:44px;color:var(--ink)}.wordmark{width:194px;height:auto}.site-header nav{display:flex;gap:36px}.site-header nav a{font-size:15px;display:inline-flex;align-items:center;min-height:44px}
.hero{padding-top:86px;padding-bottom:90px}h1{font-size:88px;line-height:1.05;letter-spacing:-.055em}h1 span{display:block}.hero-support{width:52%;margin-left:auto;margin-top:48px}.hero-introduction{font:400 26px/1.42 SourceSerif,Georgia,serif;letter-spacing:-.016em;max-width:40ch}.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:16px 28px;margin-top:32px}
.button{display:inline-flex;align-items:center;justify-content:space-between;gap:26px;min-height:48px;padding:11px 20px;background:var(--ink);color:var(--paper);border:1px solid var(--ink);border-radius:2px;font-size:15px;line-height:1.5;text-decoration:none;transition:background-color 180ms ease-out,transform 180ms ease-out}.button span{font-size:19px;line-height:1}.text-link{display:inline-flex;align-items:center;gap:20px;min-height:44px;font-size:15px}
.first-focus{padding-bottom:100px}.signature-rule{display:flex;align-items:center;gap:4px;height:18px;margin-bottom:70px}.signature-rule span{height:1px;background:var(--rule)}.signature-rule span:first-child{width:calc(38% - 18px)}.signature-rule span:last-child{flex:1}.signature-rule svg{width:28px;height:14px;fill:none;stroke:var(--coral);stroke-width:1.3;flex:none}
.focus-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:100px}.eyebrow{font-size:13px;line-height:1.5;margin-bottom:20px}.focus-grid h2{font-size:44px;line-height:1.15;letter-spacing:-.035em;max-width:15ch}.serif-lead{font:400 27px/1.38 SourceSerif,Georgia,serif;letter-spacing:-.02em}.prose>p+p{margin-top:22px;color:var(--muted)}
.approach{background:var(--ink);color:var(--paper);padding:94px 0 100px}.intro{display:grid;grid-template-columns:1.1fr 1fr;gap:100px;align-items:start}.intro h2{font-size:52px;line-height:1.12;letter-spacing:-.04em}.intro>p{font:400 25px/1.42 SourceSerif,Georgia,serif;color:#d7d8d5;max-width:35ch}.steps{list-style:none;margin:72px 0 0;padding:0}.steps li{display:grid;grid-template-columns:64px 1fr;gap:32px;padding:31px 0 35px;border-top:1px solid #4b4d4f}.steps li:last-child{padding-bottom:0}.step-number{font:400 13px/1.6 PlexMono,monospace;color:#bfc1c3;padding-top:6px}.steps li>div{display:grid;grid-template-columns:.85fr 1fr;gap:72px}.steps h3{font-size:24px;line-height:1.35;letter-spacing:-.015em}.steps p{font-size:17px;color:#bfc1c3;max-width:48ch}
.questions{display:grid;grid-template-columns:.9fr 1.1fr;gap:100px;padding-block:94px 108px}.questions h2{font:400 40px/1.2 SourceSerif,Georgia,serif;letter-spacing:-.025em}.answers{border-top:1px solid var(--rule)}details{border-bottom:1px solid var(--rule);padding-block:22px}summary{cursor:pointer;padding-right:18px;min-height:44px;align-content:center;font-size:18px;line-height:1.5}details p{font-size:16px;color:var(--muted);margin-top:14px;max-width:58ch}.faq-answer{display:flow-root}.is-animating>.faq-answer{overflow:hidden}
.contact{border-top:1px solid var(--rule);padding-block:94px 106px;display:grid;grid-template-columns:1fr 1fr;gap:100px}.contact h2{font-size:64px;line-height:1.1;letter-spacing:-.045em;max-width:13ch}.contact p{font:400 25px/1.42 SourceSerif,Georgia,serif;max-width:35ch}.email{display:inline-flex;align-items:center;min-height:44px;font-size:30px;letter-spacing:-.02em;margin-top:24px;overflow-wrap:anywhere}.contact .contact-note{font:400 14px/1.6 Plex,Arial,sans-serif;color:var(--muted);margin-top:20px;max-width:49ch}
.site-footer{border-top:1px solid var(--rule);display:flex;justify-content:space-between;align-items:center;gap:24px;padding-block:32px 40px}.footer-wordmark{width:144px;height:auto}.footer-links{display:flex;align-items:center;gap:28px;font-size:13px;color:var(--muted)}.footer-links a{display:inline-flex;align-items:center;min-height:44px}
:is(.site-header nav a,.text-link,.email,.footer-links a,summary){position:relative;text-decoration:none}:is(.site-header nav a,.text-link,.email,.footer-links a,summary)::after{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--coral);transform:scaleX(0);transform-origin:left;transition:transform 180ms ease-out;pointer-events:none}summary::after{bottom:-8px}:is(.site-header nav a,.text-link,.email,.footer-links a,summary):focus-visible::after{transform:scaleX(1)}.button:focus-visible{background:#303338}
@media(hover:hover) and (pointer:fine){:is(.site-header nav a,.text-link,.email,.footer-links a,summary):hover::after{transform:scaleX(1)}.button:hover{transform:translateY(-1px);background:#303338}}
.button:active{transform:none;transition:none}
@media(min-width:1500px){.hero{padding-top:100px}}
@media(max-width:1100px){.wrap{width:calc(100% - 80px)}h1{font-size:72px}.hero{padding-top:64px}.hero-support{width:56%}.focus-grid,.questions,.intro,.contact{gap:60px}.steps li>div{gap:44px}.intro h2{font-size:44px}.contact h2{font-size:54px}}
@media(max-width:799px){.wrap{width:calc(100% - 48px)}.hero{padding-top:52px;padding-bottom:60px}h1{font-size:clamp(46px,8.2vw,64px);letter-spacing:-.045em}.hero-support{width:80%;margin-top:34px}.hero-introduction{font-size:24px}.focus-grid,.questions,.intro,.contact{grid-template-columns:1fr;gap:32px}.first-focus{padding-bottom:64px}.signature-rule{margin-bottom:40px}.focus-grid h2{font-size:38px;max-width:19ch}.serif-lead{font-size:24px}.intro h2{font-size:42px}.intro>p{max-width:42ch;font-size:24px}.approach{padding-block:64px 70px}.steps{margin-top:48px}.steps li{grid-template-columns:36px 1fr;gap:18px;padding-block:25px 28px}.steps li>div{grid-template-columns:1fr;gap:14px}.steps h3{font-size:23px}.steps p{font-size:16px;max-width:54ch}.questions{padding-block:64px}.questions h2{font-size:36px}.contact{padding-block:64px 72px}.contact h2{font-size:48px;max-width:15ch}.contact p{font-size:24px;max-width:40ch}.site-footer{flex-wrap:wrap}.footer-links{gap:22px;flex-wrap:wrap}}
@media(max-width:700px){.wordmark{width:144px}.site-header{min-height:88px}.site-header nav{gap:24px}.site-header nav a{font-size:14px}}
@media(max-width:480px){.wrap{width:calc(100% - 40px)}.hero{padding-top:38px;padding-bottom:52px}h1{font-size:46px;line-height:1.08;letter-spacing:-.048em}.hero-support{width:100%;margin-top:30px}.hero-introduction{font-size:22px;line-height:1.45}.hero-actions{gap:10px 18px;margin-top:24px}.button{font-size:14px;padding-inline:16px;gap:18px}.text-link{font-size:14px}.focus-grid h2{font-size:34px}.serif-lead{font-size:23px}.prose>p+p{font-size:16px}.eyebrow{font-size:12px;margin-bottom:16px}.intro h2{font-size:38px}.intro>p{font-size:22px}.contact h2{font-size:44px}.contact p{font-size:22px}.email{font-size:27px}.footer-links{gap:8px 24px}.footer-links span{width:100%}.site-footer{gap:24px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}.button:hover{transform:none}}
@media(forced-colors:active){.signature-rule svg{stroke:CanvasText}.signature-rule span{background:CanvasText}.button{border:1px solid ButtonText}.approach{background:Canvas;color:CanvasText}.approach p,.step-number{color:CanvasText}.steps li{border-color:CanvasText}:is(.text-link,.email,.site-header nav a,.footer-links a,summary)::after{background:LinkText}}
.brand-slot{flex:none}
@media(max-width:480px){.site-header{gap:16px}.site-header nav{gap:18px}.site-header nav a{font-size:13px}}
@media print{body,.approach{background:white;color:black}.skip,.hero-actions{display:none}.wrap{width:100%}.hero{padding-block:24px}.hero h1{font-size:48px}.hero-support{margin-top:20px}.approach{padding-block:30px}.approach p,.step-number{color:black}.steps li,.contact,.answers,details,.site-footer{border-color:#aaa}.signature-rule svg{stroke:black}.signature-rule span{background:black}.questions,.contact{padding-block:30px}.steps li,details{break-inside:avoid}*{transition:none!important}}

html.site { scroll-behavior: smooth; }
html.site:has(#main:target), html.site:has(.skip:focus) { scroll-behavior: auto; }
:is(#main, #services, #approach, #contact) { scroll-margin-top: 32px; }
.headline-underline { font-style: normal; text-decoration: underline; text-decoration-color: var(--coral); text-decoration-thickness: 3px; text-underline-offset: .12em; text-decoration-skip-ink: auto; }

.focus-grid { grid-template-columns: 1fr 1fr; gap: 64px; align-items: center; }
.focus-copy .prose { margin-top: 32px; max-width: 48ch; }
.handover-example { margin: 0; min-width: 0; text-align: center; }
.sculpture-stage { position: relative; aspect-ratio: 1; width: 100%; }
.sculpture-title { margin: 12px 0 8px; font: 400 24px/1.3 SourceSerif, Georgia, serif; }
.handover-caption { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.5; }
@media (max-width: 1100px) { .focus-grid { gap: 36px; } }
@media (max-width: 799px) {
  .headline-underline { text-decoration-thickness: 2px; }
  .focus-grid { grid-template-columns: 1fr; gap: 24px; }
  .handover-example { width: 100%; max-width: 540px; margin-inline: auto; }
}
@media (prefers-reduced-motion: reduce) {
  html.site { scroll-behavior: auto !important; }
}
@media (forced-colors: active) {
  .headline-underline { text-decoration-color: CanvasText; }
}
@media print {
  .focus-grid { display: block; }
  .handover-example { break-inside: avoid; max-width: 380px; margin-inline: auto; }
}

.site-header { min-height: 100px; gap: 44px; }
.site-header .brand { margin-right: auto; }
.site-header nav.language-nav { gap: 0; }
.language-nav a { min-width: 44px; justify-content: center; }
.language-nav [aria-current="page"] { font-weight: 600; text-decoration: underline; text-decoration-color: var(--ink); text-decoration-thickness: 1px; text-underline-offset: 7px; }
.focus-grid h2 { max-width: 21ch; }
.focus-copy > .serif-lead { margin-top: 26px; max-width: 35ch; }
.services-list { margin: 32px 0 0; }
.services-list > div + div { margin-top: 24px; }
.services-list dt { font-size: 21px; line-height: 1.35; }
.services-list dd { margin: 8px 0 0; color: var(--muted); font-size: 16px; line-height: 1.6; max-width: 49ch; }
.email { user-select: text; }
.buyer-proof{padding-top:64px;padding-bottom:72px}
.buyer-proof h2{max-width:24ch}
.buyer-proof>p{max-width:72ch}
.buyer-proof video{display:block;width:100%;height:auto;margin:32px 0 12px;background:#1c1e21;border:1px solid var(--line,#d3d2cd)}
.demo-walkthrough{max-width:72ch;padding-left:24px;line-height:1.7}
.demo-walkthrough li{padding:8px 0}
@media(max-width:700px){.buyer-proof{padding-top:40px;padding-bottom:48px}}
@media print{.buyer-proof video{display:none}}
.contact .contact-feedback { min-height: 3.2em; margin-top: 8px; font: 400 14px/1.6 Plex, Arial, sans-serif; color: var(--muted); }
@media print { .contact-feedback { display: none; } }
@media (max-width: 700px) {
 .site-header { display: grid; grid-template-columns: 1fr auto; gap: 0 16px; min-height: 116px; padding-top: 12px; padding-bottom: 8px; }
 .site-header .brand { grid-column: 1; grid-row: 1; }
 .site-header nav:not(.language-nav) { grid-column: 1 / -1; grid-row: 2; justify-content: flex-end; gap: 24px; }
 .site-header .language-nav { grid-column: 2; grid-row: 1; }
 .focus-grid h2 { max-width: 21ch; }
}
@media (max-width: 480px) { .services-list dt { font-size: 20px; } .services-list { margin-top: 28px; } }
@media print { .site-header nav { display: none; } }
