@import url(fonts.css);
:root{--p:#302058;--pd:#221640;--c:#e0c8c0;--paper:#f8f4ee;--paper2:#efe7dd;--ink:#241c33;--mut:#6b6275}
*{box-sizing:border-box;margin:0}
body{font:400 17px/1.65 'Source Sans 3',sans-serif;color:var(--ink);background:var(--paper)}
h1,h2,h3{font-family:Spectral,serif;font-weight:300;line-height:1.1}
h1 em,h2 em{font-style:italic;color:var(--c)}
a{color:inherit}
.w{max-width:1120px;margin:auto;padding:0 24px}
header{position:sticky;top:0;z-index:5;background:var(--p);color:var(--paper)}
header .w{display:flex;align-items:center;justify-content:space-between;height:72px}
header img{height:48px;border-radius:8px}
nav a{margin-left:28px;text-decoration:none;font-size:14px;letter-spacing:.14em;text-transform:uppercase}
nav a:hover{color:var(--c)}
.btn{display:inline-block;padding:14px 28px;border:1px solid var(--c);color:var(--c);text-decoration:none;letter-spacing:.14em;text-transform:uppercase;font-size:13px;font-weight:600;transition:.2s}
.btn:hover{background:var(--c);color:var(--p)}
.btn.s{background:var(--c);color:var(--p)}
.hero{background:radial-gradient(circle at 80% 30%,#3d2b6e,var(--p) 60%,var(--pd));color:var(--paper);padding:120px 0 110px}
.hero .w{display:grid;grid-template-columns:1.4fr 1fr;gap:56px;align-items:center}
.hero h1{font-size:clamp(44px,6vw,76px)}
.hero p{max-width:30em;margin:24px 0 36px;color:#d9d0e4;font-size:19px}
.hero-photo{width:100%;height:100%;min-height:420px;object-fit:cover;border-radius:20px;box-shadow:0 30px 60px #0006;justify-self:stretch}
.eb{font-size:12px;letter-spacing:.3em;text-transform:uppercase;color:var(--c);display:flex;gap:14px;align-items:center;margin-bottom:22px}
.eb:before{content:'';width:36px;height:1px;background:currentColor}
section{padding:100px 0}
.paper .eb,.alt .eb,.work .eb{color:var(--p)}
h2{font-size:clamp(34px,4.4vw,52px);margin-bottom:24px}
.paper h2 em,.alt h2 em,.work h2 em{color:var(--p)}
.two{display:grid;grid-template-columns:1fr 1fr;gap:64px}
.two p+p{margin-top:16px}
.alt{background:var(--paper2)}
.svc{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;margin-top:48px;background:#d8ccd0}
.svc div{background:var(--paper);padding:36px 30px}
.svc b{font:300 italic 15px Spectral,serif;color:var(--p);display:block;border-bottom:1px solid var(--c);padding-bottom:12px;margin-bottom:18px}
.svc h3{font-size:26px;margin-bottom:10px}
.svc p{color:var(--mut);font-size:16px}
.steps{counter-reset:s;display:grid;grid-template-columns:repeat(4,1fr);gap:28px;margin-top:40px}
.steps div{border-top:2px solid var(--p);padding-top:18px}
.steps div:before{counter-increment:s;content:'0' counter(s);font:300 34px Spectral,serif;color:var(--p);display:block}
.work{background:var(--paper2)}
.work-intro{max-width:34em;margin:0 0 40px;color:var(--mut)}
.gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:28px;margin-bottom:40px}
.gallery figure{margin:0;background:var(--paper);border-radius:12px;overflow:hidden;box-shadow:0 8px 24px #241c3314}
.gallery img{display:block;width:100%;aspect-ratio:1;object-fit:cover;background:var(--paper2)}
.gallery figcaption{padding:14px 16px 16px;font-size:14px;color:var(--mut)}
.work-credit{font-size:14px;color:var(--mut);margin-bottom:16px}
.work .btn{color:var(--p);border-color:var(--p)}
.work .btn:hover{background:var(--p);color:var(--paper)}
.contact .card{background:var(--p);color:var(--paper);padding:48px;border-radius:4px}
.contact .card p{color:#d9d0e4;margin-bottom:24px}
.contact .card .btn{margin:0 12px 12px 0}
footer{background:var(--pd);color:#bfb4cc;padding:48px 0;font-size:14px}
footer .w{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}
footer img{height:64px;border-radius:10px}
@media(max-width:820px){nav{display:none}.hero .w,.two{grid-template-columns:1fr}.hero-photo{min-height:280px;order:-1;max-height:360px}.svc{grid-template-columns:1fr}.steps{grid-template-columns:1fr 1fr}.gallery{grid-template-columns:1fr;gap:20px}section{padding:72px 0}.hero{padding:72px 0}}
@media(min-width:821px) and (max-width:1100px){.gallery{grid-template-columns:repeat(2,1fr)}}
