@font-face{font-family:'Libre Caslon Text';src:url('/assets/define/librecaslontext-regular.ttf') format('truetype');font-weight:400 700;font-style:normal;font-display:swap}
@font-face{font-family:'Libre Caslon Text';src:url('/assets/define/librecaslontext-italic.ttf') format('truetype');font-weight:400 700;font-style:italic;font-display:swap}
@font-face{font-family:Montserrat;src:url('/assets/define/montserrat-regular.ttf') format('truetype');font-weight:100 900;font-display:swap}
:root{--serif:'adobe-caslon-pro','Libre Caslon Text',Georgia,serif;--sans:'ss-pro',Montserrat,Arial,sans-serif;--paper:#fff;--brown:#171713;--deep:#25251e;--ink:#171713;--muted:#6b6b65;--line:#deded9;--ed-paper:#fff;--ed-ink:#171713;--ed-serif:var(--serif);--ed-sans:var(--sans)}
html{scroll-padding-top:30px}body{font:400 12px/1.9 var(--sans);background:#fff;color:#171713}h1,h2,h3,h4{font-family:var(--serif);font-weight:400;letter-spacing:.025em}em{color:inherit!important}button,input,select,textarea{font-family:var(--sans)}a:focus-visible,button:focus-visible{outline:2px solid #68685b;outline-offset:5px}
body .header.df-header,body[data-page="home"] .header.df-header{position:relative;inset:auto;height:139px;padding:19px 20px 16px;display:flex;flex-direction:column;gap:0;background:white;color:#171713;justify-content:flex-start;border:0;box-shadow:none}
.df-header .brand{width:198px;margin:0;flex:none}.df-header .brand img,.df-footer .brand img{filter:brightness(0);background:transparent;border:0;padding:0;box-shadow:none}.df-descriptor{display:block;font-size:7px;letter-spacing:2.5px;line-height:14px;margin-top:5px}
.df-header nav{margin:12px 0 0;gap:49px;display:flex;align-items:center;font-size:12.8px;line-height:41px;letter-spacing:1.15px}.df-header nav a{font-size:12.8px;line-height:41px;padding:0;border:0;letter-spacing:1.15px;font-weight:500}.df-header nav a:hover{opacity:.5}
.define-home h2,.define-home h3{font-size:23.68px;line-height:1.38;letter-spacing:.03em;margin:0;font-weight:400}.df-label{display:block;font:400 9.6px/2 var(--sans);letter-spacing:.896px;margin-bottom:28px}
.df-hero{height:calc(100svh + 25px);min-height:590px;max-height:925px;background:#fff;position:relative;padding-bottom:25px;overflow:hidden}.df-slides{position:absolute;inset:0 0 25px}.df-slide{position:absolute;inset:0;opacity:0;transition:opacity 1.4s ease;pointer-events:none}.df-slide.active{opacity:1}.df-slide img{width:100%;height:100%;object-fit:cover;object-position:50% 50%}.df-slide:nth-child(2) img,.df-slide:nth-child(3) img{object-position:top center}.df-slide-controls{position:absolute;bottom:0;left:0;right:0;height:25px;display:flex;align-items:center;justify-content:center;gap:24px;line-height:1;font-size:8px;letter-spacing:1px}.df-slide-controls button{border:0;background:transparent;color:#171713;padding:4px 8px;height:25px;font-size:11px}.df-pause{margin-left:8px}
.df-statement{min-height:503px;padding:100px 5%;display:flex;align-items:center;justify-content:center;text-align:center;background:white}.df-intro{min-height:475px}.df-statement>div{max-width:660px;width:100%}.df-statement .df-label{text-align:left;max-width:583px;margin:0 auto 27px}.df-statement h1,.df-statement h2{font-size:23.68px;line-height:1.38;letter-spacing:.03em}.df-statement p{font-size:12px;margin-top:28px;color:#62625c;line-height:2}
.df-work{min-height:715px;padding:42px 4% 55px;background:#f8f8f7;text-align:center;border-bottom:1px solid #e5e5e1}.df-work>h2{font-size:16px;margin:0 0 34px}.df-project-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px}.df-project{display:flex;align-items:center;justify-content:center;height:425px;background:#e9e8e3;overflow:hidden;padding:25px 15px}.df-project-atelier{background:#e8e3dc}.df-project-vhouse{background:#e7e7e1}.df-project-angels{background:#dfe6e5}.df-project-vivo{background:#e7e6e1}.df-preview{position:relative;transition:transform .7s cubic-bezier(.2,.7,.2,1);box-shadow:0 20px 30px #22221f20}.df-project:hover .df-preview,.df-project:focus-visible .df-preview{transform:translateY(-7px)}.df-preview.phone{width:70%;max-width:163px;border:5px solid #252525;border-radius:23px;overflow:hidden}.df-preview.phone img{display:block;width:100%;height:auto}.df-preview.laptop{width:100%;border:5px solid #252525;border-top:7px solid #252525;border-radius:6px 6px 1px 1px;overflow:visible}.df-preview.laptop img{display:block;width:100%;height:auto}.df-preview.laptop:after{content:'';position:absolute;left:-7%;right:-7%;height:7px;bottom:-11px;background:linear-gradient(#d5d5d2,#8d8d89);border-radius:0 0 50% 50%}.df-project-title{display:inline-block;text-decoration:underline;text-underline-offset:3px;font-size:12px;letter-spacing:1px;text-transform:uppercase;line-height:1.5;margin:19px 0 5px}.df-project-scope{display:block;font-size:7px;letter-spacing:.65px;line-height:1.6;color:#6a6a63}.df-button{display:inline-flex;justify-content:center;align-items:center;min-height:50px;min-width:180px;border:1px solid #9f9f98;padding:14px 25px;letter-spacing:2px;font:400 10px/1.5 var(--sans);background:transparent;transition:background .25s,color .25s}.df-button:hover{background:#25251e;color:#fff}.df-work>.df-button{margin-top:40px}
.df-services{height:606px;display:grid;grid-template-columns:1fr 1fr;background:#25251e;color:#f5f5f0;padding:48px 4%;gap:5%}.df-services-copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding-left:5%}.df-services .df-label{margin-bottom:30px}.df-services ul{list-style:none;margin:0 0 26px;padding:0}.df-services li{font:400 23.68px/1.7 var(--serif);letter-spacing:.015em}.df-services li a{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}.df-services li a:hover{opacity:.65}.df-text-link{font-size:9px;letter-spacing:1px;border-bottom:1px solid #8c8c80;padding-bottom:6px}.df-services-image{display:block;overflow:hidden;height:100%}.df-services-image img{width:100%;height:100%;object-fit:cover;object-position:70% center;transition:transform 1.2s}.df-services-image:hover img{transform:scale(1.03)}
.df-about{padding:120px 5%;min-height:525px;display:flex;align-items:center;justify-content:center;background:#fff}.df-about>div{max-width:583px}.df-about .df-label{text-align:center;margin-bottom:45px}.df-about p{font:400 12.8px/2 var(--sans);letter-spacing:.5px;margin:0 0 25px}.df-about p:last-child{margin:0}.df-band{height:350px;overflow:hidden;background:#e9e9e4}.df-band a{display:block;width:100%;height:100%;padding:35px 20%}.df-band img{display:block;height:100%;width:100%;object-fit:contain;filter:drop-shadow(0 20px 15px #22222020)}
.df-experience{padding:100px 5% 110px;text-align:center;min-height:440px}.df-experience>h2{margin-bottom:52px}.df-names{max-width:660px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:60px;text-align:left}.df-names .df-label{font-size:8px;margin-bottom:24px}.df-names a{display:block;font-size:12.8px;line-height:2.7;letter-spacing:.8px}.df-names a:hover{text-decoration:underline}.df-contact{padding:96px 5% 100px;text-align:center;background:#f8f8f7;min-height:360px}.df-contact h2{max-width:650px;margin:auto}.df-contact p{font-size:11px;margin:25px 0 29px;letter-spacing:.4px}.df-contact .df-button{font-size:9px;min-width:245px}
.df-footer{padding:80px 5% 65px;text-align:center;background:#fff;color:#171713;min-height:368px;display:flex;flex-direction:column;align-items:center}.df-footer .brand{width:185px;margin:0 0 25px}.df-footer p{font-size:10px;letter-spacing:.5px}.df-footer nav{display:flex;justify-content:center;gap:25px;margin:30px 0 32px;font-size:9px;letter-spacing:.8px}.df-footer nav a:hover{text-decoration:underline}.df-footer>span{font-size:8px;color:#72726c;letter-spacing:.8px}
.df-studio-intro{min-height:440px}.df-studio-detail{padding:110px 10%;text-align:center}.df-studio-detail h2{font-size:25px;line-height:1.5}.df-studio-detail>p{margin:25px 0 55px;font-size:11px}.df-expertise-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px 70px;max-width:870px;margin:0 auto 50px;text-align:left}.df-expertise-grid h3{font-size:22px;line-height:1.5;margin-bottom:18px}.df-expertise-grid p{font-size:12px;color:#62625b;line-height:2}.df-credits{max-width:780px;padding:85px 5% 100px;margin:auto}.df-credits h1{font-size:30px;margin-bottom:55px}.df-credits h2{font-size:22px;margin:35px 0 15px}.df-credits p{line-height:2;font-size:12px;margin-bottom:15px}.df-credits a{text-decoration:underline}
/* Shared pages retain tested interactions, with the same restrained type and palette. */
.portfolio-intro,.client-section,.portfolio-projects,.portfolio-end,.contact,.journal-head,.journal-grid,.privacy-page,.article-hero,.article-body{background:#fff!important;color:#171713}.portfolio-title{display:block;text-align:center;margin:38px 0 65px}.portfolio-title h1,.journal-head h1,.privacy-page h1,.q-contact-heading h1{font-size:30px!important;line-height:1.4!important;letter-spacing:.025em!important}.portfolio-title>p{max-width:440px;margin:25px auto 0;font-size:12px}.portfolio-cover{background:#edede8;min-height:560px}.client-intro h2,.project-caption h2,.portfolio-end h2{font-size:25px}.client-intro h2 em,.portfolio-title h1 em,.portfolio-end h2 em{color:inherit}.client-intro p,.project-description,.preview-details p{font-size:12px}.client-logos{border-color:#e0e0da}.portfolio-filters button{border-radius:0;font-size:10px}.portfolio-filters button[aria-pressed=true],.preview-devices button[aria-pressed=true]{background:#25251e;border-color:#25251e}.project-stage{background:#e9e9e4!important}.project-stage:after{display:none}.project-caption h2{font-size:26px}.project-scope{color:#68685f}.portfolio-end{padding:90px 5%}.portfolio-end h2{line-height:1.5}.portfolio-index{font-size:8px}.eyebrow{font-size:9px;letter-spacing:1px}.section-top{margin-bottom:45px}.q-contact-heading{padding:0 0 48px}.q-contact-heading h1{margin-bottom:20px}.q-contact-heading>p{font-size:12px!important;color:#64645c!important}.contact.section{padding:85px 8% 100px}.enquiry-shell,.enquiry-form,.enquiry-progress{background:#fff;color:#171713}.enquiry-shell{border-color:#deded6}.enquiry-step h2{font-size:23px!important}.enquiry-step h3{font-size:20px!important}.service-option{border-radius:0!important}.solid-button,.form-next{background:#25251e!important;color:white!important}.enquiry-top h2{font-size:23px!important}.journal-head{padding-top:85px;padding-bottom:65px}.journal-head p{font-size:12px}.journal-grid h2{font-size:24px}.privacy-page h2{font-size:22px}.article-hero h1{font-size:clamp(28px,3vw,44px);line-height:1.4}.article-body p{font-size:13px}.study-hero h1{font-size:38px}.study-hero h1 em{font-size:26px}.study-thinking h2,.study-demo h2,.study-end h2{font-size:28px}#project-dialog{background:#fff;color:#171713}#project-dialog::backdrop{background:#171713b8}.project-dialog-heading h2{font-size:30px}.preview-stage{background:#eeeee8}.preview-devices,.preview-devices button{border-radius:0}.preview-devices button[aria-pressed=true]{color:#fff}
@media(max-width:760px){body .header.df-header,body[data-page="home"] .header.df-header{height:130px;padding-top:21px}.df-header .brand{width:166px}.df-descriptor{font-size:6px;letter-spacing:1.9px;margin-top:6px}.df-header nav{gap:25px;margin-top:10px}.df-header nav a{font-size:9px;letter-spacing:.9px;line-height:35px}.df-hero{height:calc(75svh + 25px);min-height:455px}.df-slide:first-child img{object-position:57% center}.df-statement,.df-intro{min-height:360px;padding:70px 7%}.df-statement .df-label{max-width:90%;font-size:8px}.df-statement h1,.df-statement h2,.define-home h2{font-size:21px;line-height:1.55}.df-statement h2 br{display:none}.df-work{padding:45px 5% 55px}.df-work>h2{font-size:16px;margin-bottom:30px}.df-project-grid{grid-template-columns:1fr 1fr;gap:34px 12px}.df-project{height:290px;padding:20px 12px}.df-preview.phone{width:85%;max-width:112px;border-width:4px;border-radius:17px}.df-preview.laptop{border-width:4px;border-top-width:6px}.df-project-title{font-size:9px;letter-spacing:.65px;margin-top:17px}.df-project-scope{font-size:6px;letter-spacing:.35px;min-height:20px}.df-button{font-size:9px;min-height:48px;padding:12px 21px}.df-services{height:auto;grid-template-columns:1fr;padding:60px 7% 30px;gap:45px}.df-services-copy{padding:0}.df-services li{font-size:20px;line-height:1.9}.df-services-image{height:390px}.df-about{padding:80px 8%;min-height:470px}.df-about p{font-size:12px;letter-spacing:.3px;line-height:2}.df-about .df-label{margin-bottom:35px}.df-band{height:260px}.df-band a{padding:40px 7%}.df-experience{padding:75px 8%}.df-experience>h2{font-size:21px;margin-bottom:45px}.df-names{gap:25px}.df-names .df-label{font-size:6.7px;letter-spacing:.4px;min-height:30px;margin-bottom:15px}.df-names a{font-size:10px;letter-spacing:.4px;line-height:2.9}.df-contact{padding:70px 8% 80px}.df-contact h2{font-size:21px}.df-contact p{font-size:10px;line-height:1.9}.df-footer{padding:65px 7% 50px;min-height:320px}.df-footer .brand{width:156px}.df-footer p{font-size:9px}.df-footer nav{gap:16px 22px;flex-wrap:wrap;font-size:8px;max-width:270px}.df-studio-detail{padding:70px 8%}.df-expertise-grid{grid-template-columns:1fr;gap:35px}.df-studio-detail h2{font-size:22px}.df-studio-detail p{font-size:11px;line-height:2}.portfolio-cover{min-height:340px}.portfolio-title h1,.journal-head h1,.privacy-page h1,.q-contact-heading h1{font-size:27px!important}.portfolio-title>p{font-size:11px}.client-intro h2,.project-caption h2{font-size:23px}.portfolio-title{margin:35px 0}.contact.section{padding:65px 6% 85px}.project-dialog-heading h2{font-size:24px}.df-credits{padding:65px 8%}}
@media(max-width:360px){.df-header nav{gap:20px}.df-project{height:255px}.df-preview.phone{max-width:95px}.df-project-title{font-size:8px}.df-services li{font-size:18px}.df-names{gap:15px}.df-names a{font-size:9px}}
.enquiry-steps{background:#f8f8f6!important;border-color:#deded8!important}.enquiry-steps>button[aria-current=step]{color:#171713!important}.enquiry-steps>button[aria-current=step]>span{background:#25251e!important;border-color:#25251e!important;color:#fff!important}.enquiry-panel>h3{font:400 23px/1.4 var(--serif)!important;letter-spacing:.02em!important}.service-options label:has(input:checked){background:#eeeee9!important;border-color:#77776c!important}.service-options small,.form-hint,.form-overline,.delivery-note{color:#6b6b61!important}.service-options span{font-size:13px!important}.enquiry-panel label{font-size:12px!important}.service-options>label{border-color:#cfcfc7!important}.enquiry-panel input,.enquiry-panel select,.enquiry-panel textarea{border-color:#cfcfc7!important;font-family:var(--sans)!important}.enquiry-panel input[type=checkbox]{accent-color:#25251e!important}.scope-block>legend{font:400 21px/1.5 var(--serif)!important;letter-spacing:.01em}.contact-button{border-radius:0!important;background:#25251e!important}.contact-button:hover{background:#45453c!important}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.df-slide,.df-preview,.df-services-image img{transition:none}.df-project:hover .df-preview{transform:none}}
