@font-face{font-family:DM;src:url('assets/dm-sans-regular.ttf');font-weight:400;font-display:swap}
@font-face{font-family:DM;src:url('assets/dm-sans-semibold.ttf');font-weight:600;font-display:swap}
:root{--ink:#302936;--muted:#706975;--blue:#64418a;--paper:#fcfbf8;--line:#e6e0e7;--soft:#f2eef5;--white:#fff}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.7 DM,Arial,sans-serif}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:600;letter-spacing:-.045em;line-height:1.12}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}img{display:block;width:100%;height:auto}.wrap{width:min(1180px,88%);margin-inline:auto}.section{padding-block:96px}.eyebrow{font-size:10px;font-weight:600;letter-spacing:1.6px;line-height:1.8;color:var(--muted)}
.header{display:flex;justify-content:space-between;gap:36px;align-items:center;padding-block:20px;border-bottom:1px solid var(--line)}.brand{display:block;flex:none}.brand-logo{display:block;position:relative;width:146px;aspect-ratio:1.75/1;overflow:hidden}.brand-logo img{position:absolute;width:140%;max-width:none;height:auto;left:-20%;top:-70%;mix-blend-mode:multiply}nav{display:flex;align-items:center;gap:34px;font-size:13px}nav a{padding:9px 0}nav a:hover{color:var(--blue)}.nav-contact{border-bottom:1px solid var(--blue);display:flex;gap:28px;color:var(--blue)}.menu-toggle{display:none}
.hero{display:grid;grid-template-columns:1.25fr 1fr;column-gap:64px;padding-top:63px}.hero>.eyebrow{grid-column:1/-1}.hero h1{font-size:clamp(48px,5.8vw,78px);margin-top:24px;letter-spacing:-.055em;line-height:1.07}.hero h1>span{color:var(--blue)}.hero-bottom{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:24px;margin-top:24px}.hero-bottom>p{max-width:390px;color:var(--muted);font-size:16px;line-height:1.85}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:34px;padding:15px 22px;background:var(--blue);color:#fff;border:1px solid var(--blue);border-radius:3px;font-size:13px;transition:background .2s,border-color .2s}.button:hover{background:#51336f;border-color:#51336f}.showcase{grid-column:1/-1;margin-top:48px;background:#eee9e0;padding:18px 45px 0;border:1px solid #e3dcd0;border-radius:5px;overflow:hidden}.showcase-label{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-bottom:16px;font-size:9px;letter-spacing:.7px;color:#6b635a}.showcase-label a{border-bottom:1px solid #aaa093;padding-bottom:2px}.showcase-image{height:440px;overflow:hidden;border:1px solid #d7d0c5;border-bottom:0;border-radius:3px 3px 0 0;background:white}.showcase-image img{height:auto;width:100%;object-position:top}.hero-caption{grid-column:1/-1;display:flex;justify-content:space-between;gap:20px;font-size:10px;color:var(--muted);padding-top:16px}
.section-intro>.eyebrow{margin-bottom:26px}.section-intro>div{display:flex;justify-content:space-between;align-items:flex-end;gap:64px}.section-intro h2{font-size:clamp(36px,4vw,52px)}.section-intro>div>p{max-width:370px;color:var(--muted);font-size:15px;line-height:1.85}.projects{display:grid;grid-template-columns:1fr 1fr;gap:34px;margin-top:42px}.project-image{display:block;height:340px;padding:27px 24px 0;overflow:hidden;border:1px solid #e4ded7;border-radius:4px}.project-image.pillory{background:#efeee6}.project-image.joy{background:#f4eae7}.project-image img{border:1px solid #0000000c;border-radius:2px;transition:transform .3s}.project-image:hover img{transform:translateY(-4px)}.project-meta{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:22px}.project-meta p{font-size:9px;letter-spacing:1px;color:var(--muted);margin-bottom:7px}.project-meta h3{font-size:27px;letter-spacing:-.8px}.project-meta a{font-size:25px;color:var(--blue)}.project-type{font-size:11px;color:var(--muted)}.project-description{font-size:14px;line-height:1.8;color:var(--muted);margin-top:13px;max-width:440px}.concept-note{margin-top:29px;color:var(--muted);font-size:11px;line-height:1.8}
.services{background:var(--soft);border-block:1px solid var(--line)}.services .section-intro{margin-bottom:46px}.service-row{display:grid;grid-template-columns:45px 1fr 1.2fr;gap:35px;border-top:1px solid #ddd5e4;padding-block:34px}.number{font-size:11px;color:var(--blue);padding-top:3px}.service-row h3{font-size:31px;letter-spacing:-1px}.service-row>div>p{font-size:14px;color:var(--muted);line-height:1.9;max-width:470px}.service-row ul{list-style:none;margin:17px 0 0;padding:0}.service-row li{font-size:12px;padding:5px 0}.service-row li:before{content:'·';margin-right:12px;color:var(--blue)}
.workflow-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:40px}.workflow-heading h2{font-size:clamp(36px,4vw,52px);margin-top:24px}.flow-tabs{display:flex;gap:4px;padding:5px;background:var(--soft);border:1px solid var(--line);border-radius:4px}.flow-tabs button{cursor:pointer;font-size:12px;padding:9px 12px;border:0;background:transparent;border-radius:2px}.flow-tabs button[aria-pressed=true]{background:var(--blue);color:#fff}.flow-steps{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:17px;align-items:center;margin-top:40px}.flow-steps>div{border:1px solid var(--line);border-top:2px solid #a48dbd;background:var(--white);padding:25px;min-height:142px;border-radius:2px}.flow-steps>div>span{font-size:9px;letter-spacing:1px;display:block;margin-bottom:16px;color:var(--muted)}.flow-steps strong{font-size:17px;line-height:1.5;font-weight:600}.flow-arrow{color:#a397ad;font-size:21px}.workflow>p{font-size:12px;color:var(--muted);margin-top:22px}
.about{background:#f4f0eb;border-block:1px solid #e7dfd5;color:var(--ink)}.about-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:90px;align-items:center}.about .eyebrow{margin-bottom:24px}.about h2{font-size:clamp(38px,4vw,52px)}.portrait{margin-top:27px;max-width:340px;overflow:hidden;border-radius:3px;border:1px solid #ded6cc}.portrait img{aspect-ratio:1/1;object-fit:cover}.about-copy .large-copy{font-size:28px;letter-spacing:-.7px;line-height:1.4;color:var(--ink);margin-bottom:26px}.about-copy>p:not(.large-copy){font-size:15px;line-height:1.9;color:var(--muted);margin-bottom:18px}.education-notes{border-top:1px solid #ddd5cc;margin-top:27px;padding-top:22px;display:grid;gap:17px}.education-notes>span{font-size:13px;color:var(--ink);line-height:1.5}.education-notes small{display:block;color:var(--muted);font-size:11px;margin-top:4px}.about-contact{display:inline-flex;gap:35px;border-bottom:1px solid #a89aaf;padding:7px 0;margin-top:24px;font-size:13px;color:var(--blue)}
.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:42px;margin-top:42px}.process-grid article{border-top:1px solid var(--line);padding-top:23px}.process-grid article>span{font-size:10px;letter-spacing:.9px;color:var(--muted)}.process-grid h3{font-size:28px;margin-block:25px 18px;letter-spacing:-.8px}.process-grid p{font-size:14px;color:var(--muted);line-height:1.9;max-width:320px}
.contact{background:#f0ebf5;border-block:1px solid #e3dbe9;color:var(--ink);padding-block:70px}.contact h2{font-size:clamp(43px,5.5vw,70px);margin-top:24px;letter-spacing:-.05em}.contact-bottom{display:flex;justify-content:space-between;gap:40px;align-items:center;margin-top:32px}.contact-bottom p{font-size:15px;color:var(--muted);line-height:1.8}.contact-cta{display:flex;align-items:center;justify-content:space-between;gap:54px;padding:15px 24px;border:1px solid var(--blue);border-radius:3px;background:var(--blue);color:white;font-size:17px;letter-spacing:-.3px}.contact-cta:hover{background:#51336f}.email-link{display:inline-block;color:var(--blue);font-size:13px;margin-top:24px;overflow-wrap:anywhere}.footer{padding-block:30px;display:flex;justify-content:space-between;align-items:center;gap:30px}.footer .brand-logo{width:110px}.footer p{font-size:10px;line-height:1.9;color:var(--muted)}.footer>a:last-child{font-size:11px}.skip{position:absolute;top:-100px;left:15px;background:#fff;padding:12px;z-index:50}.skip:focus{top:10px}a:focus-visible,button:focus-visible{outline:3px solid #8d6cae;outline-offset:5px}
@media(max-width:1000px){.hero{column-gap:35px}.hero h1{font-size:clamp(42px,5.8vw,65px)}.hero-bottom>p{font-size:14px}.hero-bottom{gap:19px}.button{font-size:12px;padding:13px 17px;gap:24px}.showcase{padding-inline:30px}.showcase-image{height:360px}.project-image{height:280px;padding:22px 19px 0}.service-row{gap:25px;grid-template-columns:26px 1fr 1.2fr}.about-grid{gap:50px}.workflow-heading{align-items:flex-start;flex-direction:column;gap:26px}}
@media(max-width:700px){.wrap{width:88%}.section{padding-block:62px}.header{padding-block:16px;position:relative}.brand-logo{width:128px}.menu-toggle{display:flex;align-items:center;gap:22px;font-size:12px;padding:9px 12px;background:transparent;border:1px solid var(--line);border-radius:2px}nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--paper);border:1px solid var(--line);padding:19px;z-index:10}nav.open{display:flex;flex-direction:column;align-items:stretch;gap:7px}.nav-contact{justify-content:space-between}.hero{display:block;padding-top:38px}.hero .eyebrow{font-size:9px;letter-spacing:1px;max-width:290px}.hero h1{font-size:clamp(40px,10.5vw,65px);margin-top:21px;letter-spacing:-.05em}.hero-bottom{gap:23px;margin-top:23px}.hero-bottom>p{font-size:15px;line-height:1.85;max-width:none}.button{font-size:12px;padding:14px 18px;gap:30px}.showcase{margin-top:33px;padding:13px 15px 0;border-radius:3px}.showcase-label{padding-bottom:12px;font-size:8px;letter-spacing:.2px;gap:12px}.showcase-label>span:nth-child(2){display:none}.showcase-image{height:auto;max-height:255px}.hero-caption{padding-top:13px;font-size:9px;gap:15px;line-height:1.7}.hero-caption>span:last-child{text-align:right;max-width:135px}.section-intro>.eyebrow{margin-bottom:21px;font-size:9px}.section-intro>div{flex-direction:column;align-items:flex-start;gap:22px}.section-intro h2{font-size:36px}.section-intro>div>p{font-size:14px}.projects{grid-template-columns:1fr;gap:34px;margin-top:31px}.project-image{height:auto;max-height:300px;padding:22px 19px 0}.project-meta{margin-top:18px}.project-meta h3{font-size:26px}.project-meta p{font-size:8px}.project-description{font-size:14px}.concept-note{font-size:10px;line-height:1.9;margin-top:24px}.services .section-intro{margin-bottom:32px}.service-row{grid-template-columns:20px 1fr;gap:14px;padding-block:28px}.service-row h3{font-size:28px}.service-row>div{grid-column:2}.service-row>div>p{font-size:14px}.service-row li{font-size:12px}.workflow-heading h2{font-size:36px;margin-top:21px}.workflow-heading .eyebrow{font-size:9px}.flow-tabs button{font-size:11px;padding:9px 10px}.flow-steps{grid-template-columns:1fr;gap:12px;margin-top:29px}.flow-steps>div{min-height:0;padding:22px}.flow-steps strong{font-size:16px}.flow-steps>div>span{font-size:9px;margin-bottom:10px}.flow-arrow{transform:rotate(90deg);justify-self:center;line-height:1;font-size:19px}.workflow>p{font-size:11px;line-height:1.8}.about-grid{grid-template-columns:1fr;gap:31px}.about h2{font-size:40px}.portrait{max-width:100%;margin-top:24px}.about-copy .large-copy{font-size:26px;margin-bottom:23px}.about-copy>p:not(.large-copy){font-size:14px}.education-notes{gap:15px}.process-grid{grid-template-columns:1fr;gap:28px;margin-top:31px}.process-grid article{padding-top:21px}.process-grid h3{font-size:27px;margin-block:18px 14px}.process-grid p{font-size:14px;max-width:none}.contact{padding-block:53px}.contact .eyebrow{font-size:9px}.contact h2{font-size:43px;margin-top:23px}.contact-bottom{flex-direction:column;align-items:flex-start;gap:24px;margin-top:26px}.contact-bottom p{font-size:14px}.contact-cta{font-size:16px;gap:58px;padding:14px 19px}.email-link{font-size:12px;margin-top:22px}.footer{flex-wrap:wrap;gap:22px;padding-block:27px}.footer .brand-logo{width:104px}.footer p{font-size:9px}.footer p:nth-child(3){order:4;width:100%}.footer>a:last-child{margin-left:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
