:root{--ink:#1f1d1a;--ink2:#3a3631;--mut:#6f685e;--bg:#fdfcf9;--ivory:#f6f2ea;--gold:#b8964e;--gold-d:#8f7238;--line:#e7e0d2;--serif:"Cormorant Garamond",Georgia,serif;--sans:"Manrope",system-ui,sans-serif;--ease:cubic-bezier(.2,.7,.2,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;overflow-x:hidden}
body{margin:0;font:400 16px/1.7 var(--sans);color:var(--ink);background:var(--bg);overflow-x:hidden;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}a{color:inherit}
h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.05;margin:0;letter-spacing:-.01em}
h2{font-size:clamp(2.2rem,4.6vw,3.9rem);max-width:20ch}h3{font-size:1.6rem;margin-bottom:.4rem}
em{font-style:italic;color:var(--gold-d)}
.wrap{max-width:1240px;margin:auto;padding:0 clamp(20px,5vw,48px)}
.skip{position:absolute;left:-999px}.skip:focus{left:12px;top:12px;background:#fff;padding:10px;z-index:200}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.num,.kicker{font-size:.72rem;letter-spacing:.24em;text-transform:uppercase;color:var(--gold-d);font-weight:600;margin:0 0 22px}
.btn{display:inline-flex;align-items:center;gap:12px;background:var(--ink);color:#fff;text-decoration:none;font:600 .82rem var(--sans);letter-spacing:.14em;text-transform:uppercase;padding:18px 30px;border:1px solid var(--ink);cursor:pointer;transition:.4s var(--ease)}
.btn i{font-style:normal;transition:transform .4s var(--ease)}.btn:hover{background:var(--gold);border-color:var(--gold)}.btn:hover i{transform:translateX(5px)}
.link{font-size:.82rem;letter-spacing:.14em;text-transform:uppercase;font-weight:600;text-decoration:none;background:linear-gradient(var(--gold),var(--gold)) 0 100%/100% 1px no-repeat;padding-bottom:4px;transition:background-size .4s var(--ease)}.link:hover{background-size:40% 1px}
/* nav */
.nav{position:fixed;inset:0 0 auto;z-index:100;transition:.4s var(--ease);background:rgba(253,252,249,.0)}
.nav.scrolled{background:rgba(253,252,249,.92);backdrop-filter:blur(10px);box-shadow:0 1px 0 var(--line)}
.nav-in{display:flex;align-items:center;justify-content:space-between;height:84px;transition:height .4s}.scrolled .nav-in{height:66px}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink)}.logo svg{color:var(--gold)}
.logo span{font-family:var(--serif);font-size:1.7rem;letter-spacing:.06em}
nav{display:flex;gap:34px;align-items:center}nav a{text-decoration:none;font-size:.85rem;font-weight:500;position:relative}
nav a:not(.nav-cta)::after{content:"";position:absolute;left:0;bottom:-4px;height:1px;width:0;background:var(--gold);transition:width .35s var(--ease)}nav a:hover::after{width:100%}
.nav-cta{border:1px solid var(--gold);padding:10px 18px;color:var(--gold-d);transition:.3s}.nav-cta:hover{background:var(--gold);color:#fff}
.menu-btn{display:none;background:none;border:0;width:44px;height:44px;cursor:pointer;position:relative}
.menu-btn span{position:absolute;left:10px;right:10px;height:1.5px;background:var(--ink);transition:.3s}.menu-btn span:first-child{top:17px}.menu-btn span:last-child{top:26px}
.menu-btn[aria-expanded=true] span:first-child{top:21px;transform:rotate(45deg)}.menu-btn[aria-expanded=true] span:last-child{top:21px;transform:rotate(-45deg)}
/* hero */
.hero{padding:150px 0 90px;position:relative}
.hero::before{content:"";position:absolute;right:0;top:0;width:38%;height:78%;background:var(--ivory);z-index:-1}
.hero-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:70px;align-items:center}
h1{font-size:clamp(3.4rem,8.4vw,7.4rem);line-height:.95;margin-bottom:34px}h1 em{color:var(--gold)}
.lead{font-size:1.08rem;color:var(--mut);max-width:500px;margin:0 0 40px;font-weight:300}
.cta{display:flex;gap:34px;align-items:center;flex-wrap:wrap}
.hero-img{margin:0;position:relative}.hero-img img{aspect-ratio:5/6;object-fit:cover;width:100%}
.hero-img::before{content:"";position:absolute;inset:-18px 18px 18px -18px;border:1px solid var(--gold);z-index:-1}
.hero-img figcaption{position:absolute;left:-40px;bottom:40px;background:#fff;padding:20px 26px;font-size:.8rem;letter-spacing:.06em;color:var(--mut);box-shadow:0 20px 50px rgba(31,29,26,.1)}
.hero-img figcaption span{font-family:var(--serif);font-size:2rem;color:var(--ink);margin-right:8px;vertical-align:-4px}
/* stats */
.stats{padding:40px 0 100px}
.stat-row{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.stat{padding:38px 28px;border-right:1px solid var(--line)}.stat:last-child{border-right:0}.stat:first-child{padding-left:0}
.stat b{display:block;font:400 clamp(2.6rem,4.4vw,3.8rem)/1 var(--serif);color:var(--gold-d);margin-bottom:10px}
.stat span{font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--mut);font-weight:500}
.industry{grid-template-columns:1fr 1fr;border-top:0;background:var(--ivory);margin-top:0}
.ind{padding:38px 40px;display:grid;grid-template-columns:auto 1fr;gap:6px 26px;align-items:start}.ind+.ind{border-left:1px solid var(--line)}
.ind b{font:400 3rem/1 var(--serif);color:var(--ink);grid-row:span 2}.ind p{margin:0;color:var(--ink2)}
.ind cite{font-style:normal;font-size:.72rem;color:var(--mut);letter-spacing:.03em}.ind cite a{color:var(--gold-d)}
/* sections */
.sec{padding:clamp(80px,11vw,150px) 0}.ivory{background:var(--ivory)}
.sec-head{margin-bottom:70px}.sub{color:var(--mut);max-width:560px;margin:24px 0 0}
.svc{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}
.svc article{padding:44px 40px 50px 0;border-bottom:1px solid var(--line);position:relative;transition:.5s var(--ease)}
.svc article:not(:nth-child(3n)){border-right:1px solid var(--line)}.svc article:not(:nth-child(3n+1)){padding-left:40px}
.svc span{font-family:var(--serif);font-style:italic;color:var(--gold);font-size:1.3rem;display:block;margin-bottom:26px}
.svc p,.why p,.steps p{color:var(--mut);margin:0;font-weight:300}
.svc article::after{content:"";position:absolute;left:0;bottom:-1px;height:1px;width:0;background:var(--gold);transition:width .6s var(--ease)}.svc article:hover::after{width:100%}
.split{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;background:var(--ivory)}
.split figure{margin:0;height:100%}.split img{width:100%;height:100%;min-height:520px;object-fit:cover}
.split-copy{padding:clamp(40px,7vw,110px)}
blockquote{margin:0;font:400 clamp(1.8rem,3.2vw,2.8rem)/1.2 var(--serif)}
/* work */
.devices{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start}.device{margin:0}.d2{margin-top:90px}
.browser{background:#fff;border:1px solid var(--line);box-shadow:0 40px 80px -30px rgba(31,29,26,.28);overflow:hidden;transition:transform .6s var(--ease),box-shadow .6s}
.device:hover .browser{transform:translateY(-8px);box-shadow:0 60px 90px -30px rgba(31,29,26,.32)}
.bar{display:flex;align-items:center;gap:6px;padding:12px 16px;border-bottom:1px solid var(--line);background:#faf8f3}
.bar i{width:9px;height:9px;border-radius:50%;background:#e2dacb}.bar span{margin-left:14px;font-size:.7rem;color:var(--mut);letter-spacing:.08em;background:#fff;padding:3px 14px;border:1px solid var(--line);flex:1;max-width:220px}
.screen{height:440px;overflow:hidden}.screen img{width:100%;transition:transform 6s ease-in-out}.device:hover .screen img{transform:translateY(calc(-100% + 440px))}
.device figcaption{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding-top:24px;flex-wrap:wrap}
.device figcaption b{font:400 1.6rem var(--serif)}.device figcaption span{font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-d)}
/* steps */
.steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);gap:40px}
.steps li{border-top:1px solid var(--ink);padding-top:30px}.steps span{font:400 3.4rem/1 var(--serif);color:var(--gold);display:block;margin-bottom:26px}
/* pricing */
.price-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center}
.price-img{margin:0}.price-img img{aspect-ratio:4/5;object-fit:cover;width:100%}
.price-card{background:#fff;padding:clamp(36px,5vw,70px);margin-left:-80px;border:1px solid var(--line);box-shadow:0 50px 100px -40px rgba(31,29,26,.25);position:relative}
.price-card::before{content:"";position:absolute;top:0;left:0;width:80px;height:2px;background:var(--gold)}
.amount{font:400 clamp(5rem,10vw,8rem)/1 var(--serif);margin:30px 0 26px;color:var(--ink)}.amount span{font-size:.45em;vertical-align:.8em;color:var(--gold)}
.amount small{font:500 .75rem var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--mut);margin-left:12px}
.price-card ul{list-style:none;padding:0;margin:0 0 40px}.price-card li{padding:14px 0;border-bottom:1px solid var(--line);display:flex;gap:10px}
.price-card li::before{content:"";width:18px;height:1px;background:var(--gold);margin-top:13px;flex:none}.price-card b{font-weight:600}
/* why */
.why{display:grid;grid-template-columns:1fr 1fr;gap:0}.why div{padding:44px 50px 44px 0;border-top:1px solid var(--line)}.why div:nth-child(even){padding-left:50px;border-left:1px solid var(--line)}
/* faq */
.faq-grid{display:grid;grid-template-columns:1fr 1.5fr;gap:60px}.faq-grid .sec-head{margin:0}
details{border-bottom:1px solid #ddd3c1}details:first-child{border-top:1px solid #ddd3c1}
summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:26px 0;font:400 1.5rem var(--serif);transition:color .3s}summary::-webkit-details-marker{display:none}summary:hover{color:var(--gold-d)}
summary::after{content:"+";font:300 1.6rem var(--sans);color:var(--gold);transition:transform .4s var(--ease)}details[open] summary::after{transform:rotate(45deg)}
details p{margin:0 0 26px;color:var(--mut);max-width:560px}
/* contact */
.contact-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:80px}.contact-copy p:not(.num){color:var(--mut);max-width:400px;margin-top:28px}
form{display:grid;grid-template-columns:1fr 1fr;gap:10px 30px}.f{position:relative;padding-top:18px}.full{grid-column:1/-1}
input:not([type=checkbox]),select,textarea{width:100%;font:inherit;border:0;border-bottom:1px solid #cfc5b2;background:transparent;padding:12px 0;border-radius:0;color:var(--ink);transition:border-color .3s}
select{appearance:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23b8964e'/%3E%3C/svg%3E") right center no-repeat;color:var(--mut)}
textarea{resize:vertical}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--gold)}
.f>label:not(.chk){position:absolute;left:0;top:30px;color:var(--mut);pointer-events:none;transition:.3s var(--ease);font-size:1rem}
.f input:focus+label,.f input:not(:placeholder-shown)+label,.f textarea:focus+label,.f textarea:not(:placeholder-shown)+label{top:0;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-d)}
.chk{display:flex;gap:12px;align-items:center;font-size:.92rem;color:var(--mut);cursor:pointer}.chk input{width:18px;height:18px;accent-color:var(--gold)}
.err{color:#a3341f;font-size:.8rem;display:block;min-height:1.2em;margin-top:4px}[aria-invalid=true]{border-color:#a3341f!important}
form .btn{margin-top:18px;justify-content:center}
.thanks{border:1px solid var(--line);border-top:2px solid var(--gold);padding:60px;background:var(--ivory)}.thanks h3{font-size:3rem;margin-bottom:14px}.thanks p:last-child{color:var(--mut);margin:0}
/* footer */
.foot{background:var(--ivory);padding:110px 0 40px;border-top:1px solid var(--line)}
.foot-slogan{font:400 clamp(3rem,10vw,9rem)/1 var(--serif);margin:0 0 80px;letter-spacing:-.02em}.foot-slogan em{color:var(--gold)}
.foot-row{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;border-top:1px solid #ddd3c1;padding-top:30px;font-size:.8rem;color:var(--mut)}.foot-row p{margin:0}
/* reveal */
.js .r{opacity:0;transform:translateY(28px);transition:opacity 1s var(--ease),transform 1s var(--ease)}.js .r.in{opacity:1;transform:none}
/* responsive */
@media(max-width:1000px){.hero-grid,.contact-grid,.faq-grid,.split,.price-grid{grid-template-columns:1fr}.hero-grid{gap:60px}.hero::before{width:60%;height:40%;top:auto;bottom:0}
.svc{grid-template-columns:1fr 1fr}.svc article{padding:40px 30px 40px 0!important;border-right:0!important}.svc article:nth-child(odd){border-right:1px solid var(--line)!important}.svc article:nth-child(even){padding-left:30px!important}
.steps{grid-template-columns:1fr 1fr}.price-card{margin:-120px 20px 0}.stat-row{grid-template-columns:1fr 1fr}.stat:nth-child(2){border-right:0}.stat:nth-child(-n+2){border-bottom:1px solid var(--line)}.stat:nth-child(3){padding-left:0}
.hero-img figcaption{left:16px}}
@media(max-width:760px){.menu-btn{display:block;z-index:2}
nav{position:fixed;inset:0;background:var(--bg);flex-direction:column;justify-content:center;gap:28px;opacity:0;visibility:hidden;transition:.4s var(--ease)}nav.open{opacity:1;visibility:visible}nav a{font:400 2rem var(--serif)}nav .nav-cta{font:600 .85rem var(--sans);letter-spacing:.14em;text-transform:uppercase;padding:16px 26px;margin-top:10px}
.hero{padding:140px 0 60px}.hero-img img{aspect-ratio:1/1}.price-img img{aspect-ratio:4/3}h1{font-size:3.6rem}.svc,.why,.devices,form,.industry{grid-template-columns:1fr}.svc article{border-right:0!important;padding:34px 0!important}
.why div{padding:34px 0!important;border-left:0!important}.d2{margin-top:0}.devices{gap:60px}.screen{height:300px}.device:hover .screen img{transform:translateY(calc(-100% + 300px))}
.steps{grid-template-columns:1fr;gap:34px}.ind{padding:30px 22px}.ind+.ind{border-left:0;border-top:1px solid var(--line)}.stat{padding:28px 16px}.stat:first-child,.stat:nth-child(3){padding-left:0}
.price-card{margin:-80px 0 0}.split img{min-height:340px}.hero-img::before{inset:-12px 12px 12px -12px}.hero-img figcaption{left:-8px;bottom:24px;padding:14px 18px}
.thanks{padding:40px 28px}.foot{padding:80px 0 30px}.foot-slogan{margin-bottom:50px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}.js .r{opacity:1;transform:none}}
.mail{margin-top:34px!important;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase}.mail a{font:400 1.5rem var(--serif);letter-spacing:0;text-transform:none;color:var(--gold-d);text-decoration:none;border-bottom:1px solid var(--gold)}.foot-row a{color:var(--gold-d)}
