html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0}main{position:relative;z-index:1;background:#f8f8f8;margin-bottom:0!important}h2{font:inherit;margin:0}.top-nav{position:sticky;top:0;z-index:30;background:#f8f8f8;display:flex;justify-content:space-between;align-items:center;min-height:64px;padding:0 20px;gap:24px}.top-nav nav{display:flex;gap:28px}.top-nav a{color:inherit;text-decoration:none}.top-nav a:hover{opacity:.55}.top-nav a:focus-visible,button:focus-visible{outline:2px solid #555;outline-offset:6px}.wordmark{white-space:nowrap}.fade--in,.fade--words span{opacity:1!important;transform:none!important}#introduction{padding-top:0}#about,#contact{padding-top:100px}#contact{height:auto;min-height:0;display:block}.colophon{position:relative!important;bottom:auto!important;z-index:0}.colophon .inner{opacity:1!important}.enquiry-form{max-width:750px}.enquiry-form label{display:block;font-size:14px;margin-bottom:28px}.enquiry-form input,.enquiry-form textarea{font:inherit;font-size:20px;display:block;width:100%;border:0;border-bottom:1px solid #c9c9c9;border-radius:0;background:transparent;padding:14px 0;color:inherit;outline-offset:4px;resize:vertical}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:28px}.enquiry-form button{font:inherit;cursor:pointer;background:#e9e9e9;color:inherit;border:0;border-radius:12px;padding:15px 20px;display:flex;justify-content:space-between;gap:65px}.enquiry-form button:hover{background:#dedede}.form-status{font-size:14px;line-height:1.5;margin-top:18px}.colophon input{color:inherit}a,button,input,textarea{-webkit-tap-highlight-color:transparent}@media(min-width:1000px){.top-nav{min-height:70px}.h1{font-size:38px}}@media(max-width:768px){.top-nav{padding:15px 20px;align-items:flex-start;flex-wrap:wrap;gap:12px}.top-nav nav{gap:20px;font-size:12px}.form-row{grid-template-columns:1fr;gap:0}#about,#contact{padding-top:65px}.enquiry-form input,.enquiry-form textarea{font-size:16px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}

/* Original visual balance, with practice-specific content. */
.h1 h1{font:inherit;margin:0}.contact-intro{max-width:750px;margin-bottom:35px;line-height:1.4}.contact-note{font-size:12px;line-height:1.5;opacity:.65;margin:18px 0}.enquiry-form label>span{opacity:.6}.enquiry-form button{font-size:14px}#about>.p20{padding-left:0;padding-right:0}#about>.spacer:last-of-type{height:0}#about>.p20:last-child>.spacer{height:0}.collective{padding-top:80px}.collective-link{font-size:14px;display:inline-block;color:inherit;margin-top:25px;text-decoration:none;border-bottom:1px solid #aaa;padding-bottom:4px}.practice-signature{font-size:clamp(35px,9vw,150px);line-height:1.05;letter-spacing:-.045em;color:white;padding-bottom:10px}.showreel video{pointer-events:none}@media(max-width:768px){.contact-intro{font-size:16px}.collective{padding-top:45px}.practice-signature{white-space:nowrap}.colophon .h2{font-size:26px}}

.showreel .practice-photo{display:block;width:100%;height:100%;object-fit:cover;object-position:60% center}@media(max-width:768px){.showreel .practice-photo{position:absolute;inset:0;object-position:61% center}}

/* Match the reference's 768px mobile breakpoint and 20px gutters. */
@media(max-width:768px){
 .top-nav{min-height:60px;padding:0 20px;flex-wrap:nowrap;align-items:center;gap:16px;box-sizing:border-box}
 .top-nav nav{font-size:14px;gap:24px}
 #introduction>.spacer:first-child{height:40px}
 .h1{font-size:30px;line-height:1.1}
 .h2{font-size:26px;line-height:1.1}
 #about,#contact{padding-top:20px}
 .collective{padding-top:20px}
 .form-row{grid-template-columns:1fr;gap:0}
 .showreel{height:auto;aspect-ratio:6/7;overflow:hidden}
 .showreel .practice-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:61% center}
 .practice-signature{font-size:9vw;white-space:nowrap}
}
@media(max-width:359px){.top-nav nav{gap:16px}.top-nav{gap:12px}.wordmark{font-size:13px}}

/* Single vertical flow within the second main column. */
.vertical-content{flex-direction:column;gap:24px}.vertical-content>p.w-20{width:100%}.vertical-content>.vertical-body{width:100%;max-width:750px}.vertical-content .form-row{grid-template-columns:1fr;gap:0}.vertical-content .max-750{max-width:750px}@media(max-width:768px){.vertical-content{gap:20px}}

.enquiry-form input::placeholder,.enquiry-form textarea::placeholder{color:rgba(79,79,79,.3);opacity:1}

.enquiry-form button[type="submit"]{width:100%;box-sizing:border-box}

.message-field{display:block;position:relative}.enquiry-form .message-field textarea{padding-bottom:36px}.enquiry-form .word-count{position:absolute;right:0;bottom:10px;font-size:12px;line-height:1;color:#929292;pointer-events:none}.enquiry-form .message-field{opacity:1}
.enquiry-form.is-ready button[type="submit"]{background:#000;color:#fff}.enquiry-form.is-ready button[type="submit"]:hover{background:#222}

.enquiry-form .word-count[hidden]{display:none}

@font-face{font-family:Satoshi;src:url("assets/Satoshi-400.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Satoshi;src:url("assets/Satoshi-500.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:Satoshi;src:url("assets/Satoshi-700.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}


.enquiry-form button[type="submit"]{border-radius:0}

@media(max-width:768px){#contact>.vertical-content,#in-between>.vertical-content{margin-top:40px}}
/* Give the contact introduction and action distinct breathing room. */
#contact>.vertical-content{gap:40px}
.enquiry-form .contact-note{margin-top:24px;margin-bottom:0}
.enquiry-form button[type="submit"]{margin-top:32px}
@media(max-width:768px){#contact>.vertical-content{gap:32px}.enquiry-form button[type="submit"]{margin-top:28px}}
/* Quiet, one-time reveals; content stays visible without JavaScript. */
@media(prefers-reduced-motion:no-preference){
 .motion-ready .reveal{opacity:0!important;transform:translate3d(0,18px,0)!important;transition:opacity .75s ease,transform .85s cubic-bezier(.2,.65,.25,1);transition-delay:var(--reveal-delay,0ms)}
 .motion-ready .reveal.is-visible{opacity:1!important;transform:translate3d(0,0,0)!important}
 .showreel{overflow:hidden}
 .showreel .practice-photo{transition:transform 1.3s cubic-bezier(.2,.65,.25,1)}
 .motion-ready .showreel.reveal:not(.is-visible) .practice-photo{transform:scale(1.025)}
 .top-nav a,.colophon a,.collective-link{transition:opacity .2s ease,color .2s ease}
 .enquiry-form button[type="submit"]{transition:background-color .25s ease,color .25s ease,transform .15s ease}
 .enquiry-form button[type="submit"]:active{transform:translateY(1px)}
 .enquiry-form input,.enquiry-form textarea{transition:border-color .2s ease}
 .enquiry-form input:focus,.enquiry-form textarea:focus{border-bottom-color:#4f4f4f}
 .enquiry-form button span{display:inline-block;transition:transform .25s ease}
 .enquiry-form button:hover span{transform:translate(2px,-2px)}
}
/* Pin the portrait while the following sections slide across it. */
:root{--nav-height:70px}
main{isolation:isolate}
.showreel{position:sticky;top:var(--nav-height);height:calc(100svh - var(--nav-height));z-index:0}
.showreel~*{position:relative;z-index:1;background:#f8f8f8}
@media(max-width:768px){:root{--nav-height:60px}.showreel{height:auto;aspect-ratio:6/7}}
@media(prefers-reduced-motion:reduce){.showreel{position:relative;top:auto}}

.intro-word{display:inline-block;position:relative}
@media(prefers-reduced-motion:no-preference){
 .line-reveal .intro-word{opacity:0;transform:translateY(14px)}
 .line-reveal.lines-visible .intro-word{animation:intro-line-in .75s cubic-bezier(.2,.65,.25,1) both;animation-delay:var(--line-delay,0ms)}
 @keyframes intro-line-in{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
}
.focus-details{list-style:none;padding:0;margin:0}.focus-details li+li{margin-top:24px}.focus-details p{margin:0;line-height:1.4}.focus-details .focus-title{color:#4f4f4f;margin-bottom:5px}
.enquiry-form select{display:block;width:100%;font:inherit;font-size:20px;color:inherit;background:transparent;border:0;border-bottom:1px solid #c9c9c9;border-radius:0;padding:14px 24px 14px 0;outline-offset:4px}.enquiry-form button:disabled{cursor:wait}.enquiry-form .form-status:empty{display:none}
@media(max-width:768px){.enquiry-form select{font-size:16px}}

.working-steps .focus-details p{color:rgba(79,79,79,.6)}.working-steps .step-title{color:#000}

.focus-inline .focus-details p{color:rgba(79,79,79,.6)}.focus-inline .focus-inline-title{color:#4f4f4f}
.working-steps .step-title,.focus-inline .focus-inline-title{color:#777}
.working-steps .focus-details p,.focus-inline .focus-details p{color:#999}

.enquiry-form .form-honeypot{display:none}
