/* Minimal reset retained from the imported site;
   no utility framework is required. */
*,::before,::after {
  box-sizing:border-box;
  border:0 solid;
  margin:0;
  padding:0}
html {
  line-height:1.5;
  -webkit-text-size-adjust:100%;
  tab-size:4}
h1,h2,h3,h4,h5,h6 {
  font-size:inherit;
  font-weight:inherit}
button,input,textarea,select {
  font:inherit;
  color:inherit}
button {
  cursor:pointer;
  background:transparent}
img,svg {
  display:block;
  vertical-align:middle}
img {
  max-width:100%;
  height:auto}
ol,ul {
  list-style:none}
a {
  color:inherit;
  text-decoration:inherit}
[hidden] {
  display:none!important}

:root {
  --paper:#f0efe8;
  --ink:#171815;
  --muted:#64655f;
  --line:#cbc9bf;
  --accent:#f15a29;
  --accent-dark:#b73710;
  --white:#fafaf7}
* {
  box-sizing:border-box}
html {
  scroll-behavior:smooth;
  background:var(--paper);
  scroll-padding-top:6rem}
body {
  background:var(--paper);
  color:var(--ink);
  text-rendering:optimizelegibility;
  -webkit-font-smoothing:antialiased;
  margin:0;
  font-family:Arial,Helvetica,sans-serif;
  font-size:1rem;
  line-height:1.5}
a {
  color:inherit;
  text-decoration:none}
:is(a:focus-visible,button:focus-visible,summary:focus-visible) {
  outline:3px solid var(--ink);
  outline-offset:4px;
  box-shadow:0 0 0 7px var(--paper)}
.site-footer a:focus-visible {
  outline-color:var(--white);
  box-shadow:0 0 0 7px var(--ink)}
.skip-link:focus-visible {
  outline-color:var(--white);
  box-shadow:0 0 0 7px var(--ink)}
.section-contact a:focus-visible {
  outline-color:var(--ink);
  box-shadow:none}
.skip-link {
  z-index:100;
  background:var(--ink);
  color:var(--white);
  padding:.75rem 1rem;
  transition:transform .16s;
  position:fixed;
  top:.75rem;
  left:.75rem;
  transform:translateY(-160%)}
.skip-link:focus {
  transform:translateY(0)}
.site-header {
  z-index:20;
  border-bottom:1px solid var(--line);
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  min-height:5rem;
  padding:0 3vw;
  display:grid;
  position:sticky;
  top:0}
@supports (color:color-mix(in lab, red, red)) {
  .site-header {
  border-bottom:1px solid color-mix(in srgb, var(--line) 72%, transparent)}
}
.site-header {
  background:var(--paper)}
@supports (color:color-mix(in lab, red, red)) {
  .site-header {
  background:color-mix(in srgb, var(--paper) 90%, transparent)}
}
.site-header {
  -webkit-backdrop-filter:blur(16px);
  backdrop-filter:blur(16px)}
.wordmark {
  letter-spacing:.16em;
  justify-self:start;
  align-items:center;
  gap:.7rem;
  font-size:1.05rem;
  font-weight:800;
  display:inline-flex}
.brand-symbol {
  object-fit:contain;
  width:1.65rem;
  height:1.65rem}
.wordmark-text {
  line-height:1}
.section-nav {
  align-items:center;
  gap:clamp(1rem,2.5vw,2.5rem);
  font-size:.82rem;
  font-weight:600;
  display:flex}
.section-nav a {
  align-items:center;
  min-height:2.75rem;
  display:flex}
.section-nav a,.site-footer a {
  position:relative}
.section-nav a:after,.site-footer div a:after {
  content:"";
  transform-origin:100%;
  background:currentColor;
  height:1px;
  transition:transform .22s;
  position:absolute;
  bottom:-.28rem;
  left:0;
  right:0;
  transform:scaleX(0)}
.section-nav a:hover:after,.site-footer div a:hover:after {
  transform-origin:0;
  transform:scaleX(1)}
.language-switcher {
  border:1px solid var(--line);
  border-radius:999px;
  justify-self:end;
  gap:.1rem;
  padding:.2rem;
  display:flex}
.language-switcher a {
  letter-spacing:.04em;
  border-radius:999px;
  place-items:center;
  min-width:2.75rem;
  min-height:2.75rem;
  font-size:.72rem;
  font-weight:700;
  display:grid}
.language-switcher a[aria-current=page] {
  background:var(--ink);
  color:var(--white)}
.hero {
  border-bottom:1px solid var(--line);
  min-height:calc(100svh - 5rem);
  padding:clamp(3.5rem,8vh,7rem) 3vw 2rem}
.hero-grid {
  grid-template-rows:auto 1fr auto;
  grid-template-columns:minmax(10rem,.6fr) minmax(0,2fr) minmax(15rem,.75fr);
  gap:2rem 3vw;
  min-height:calc(100svh - 10.5rem);
  display:grid}
.eyebrow,.kicker {
  letter-spacing:.12em;
  text-transform:uppercase;
  margin:0;
  font-size:.73rem;
  font-weight:700;
  line-height:1.4}
.hero-symbol {
  object-fit:contain;
  grid-area:1/3;
  place-self:start end;
  width:clamp(2.8rem,4vw,4.6rem);
  height:auto}
.hero h1 {
  z-index:2;
  letter-spacing:-.075em;
  grid-area:2/1/auto/3;
  align-self:center;
  margin:0;
  font-size:clamp(4.2rem,9.7vw,10.5rem);
  font-weight:700;
  line-height:.82;
  position:relative}
.hero h1 span,.section-approach h2 span {
  display:block}
.hero h1 span:last-child {
  color:var(--accent-dark);
  font-weight:400}
.hero-copy {
  grid-area:2/3;
  align-self:end;
  max-width:27rem;
  font-size:clamp(1.05rem,1.35vw,1.3rem)}
.hero-copy p {
  margin:0 0 1rem}
.quiet {
  color:var(--muted);
  font-size:.86rem}
.text-link {
  border-bottom:1px solid;
  align-items:center;
  gap:.7rem;
  margin-top:1rem;
  padding-bottom:.25rem;
  font-size:.86rem;
  font-weight:700;
  display:inline-flex}
.text-link span,.email-link span {
  transition:transform .18s}
.text-link:hover span,.email-link:hover span {
  transform:translate(.2rem,.2rem)}
.scroll-cue {
  grid-area:3/1;
  align-self:end;
  align-items:center;
  gap:.65rem;
  font-size:.75rem;
  font-weight:600;
  display:flex}
.scroll-cue span {
  border:1px solid var(--line);
  border-radius:50%;
  place-items:center;
  width:2rem;
  height:2rem;
  display:grid}
.section {
  padding:clamp(5rem,10vw,10rem) 3vw;
  scroll-margin-top:5rem}
.section-head {
  grid-template-columns:minmax(10rem,.6fr) minmax(0,2fr) minmax(15rem,.75fr);
  gap:2rem 3vw;
  display:grid}
.section h2 {
  letter-spacing:-.065em;
  max-width:15ch;
  margin:0;
  font-size:clamp(2.8rem,6vw,6.8rem);
  font-weight:650;
  line-height:.94}
.section-intro {
  align-self:end;
  margin:0;
  font-size:clamp(1rem,1.2vw,1.2rem)}
.service-list {
  border-top:1px solid var(--line);
  grid-template-columns:repeat(3,1fr);
  margin-top:clamp(3rem,5vw,5rem);
  display:grid}
.service-list article {
  border-right:1px solid var(--line);
  min-height:17rem;
  padding:1.4rem 2.2rem 2rem 0}
.service-list article:last-child {
  border-right:0}
.service-list article>span,.principle-number {
  color:var(--accent-dark);
  font-size:.72rem;
  font-weight:700}
.service-list h3,.principle-list h3 {
  letter-spacing:-.025em;
  margin:5rem 0 .75rem;
  font-size:1.35rem}
.service-list p,.principle-list p {
  max-width:32rem;
  color:var(--muted);
  margin:0}
.section-approach {
  background:var(--ink);
  color:var(--white)}
.section-approach .section-intro,.section-approach .principle-list p {
  color:#aaa9a3}
.section-approach .kicker,.section-approach .principle-number {
  color:#ff7345}
.principle-list {
  margin:clamp(3rem,5vw,5rem) 0 0;
  padding:0;
  list-style:none}
.principle-list li {
  border-top:1px solid #41413d;
  grid-template-columns:minmax(10rem,.6fr) minmax(0,2.75fr);
  gap:3vw;
  padding:1.5rem 0 2rem;
  display:grid}
.principle-list h3 {
  margin:0 0 .6rem}
.section-studio {
  border-bottom:1px solid var(--line)}
.studio-grid {
  grid-template-columns:minmax(0,1.55fr) minmax(16rem,.85fr);
  gap:clamp(3rem,9vw,10rem);
  margin-top:clamp(3rem,7vw,7rem);
  display:grid}
.studio-grid h2 {
  grid-column:1/-1;
  max-width:11ch}
.studio-main {
  letter-spacing:-.04em;
  max-width:33ch;
  margin:0;
  font-size:clamp(1.6rem,3vw,3rem);
  line-height:1.1}
.studio-grid aside {
  border-top:1px solid var(--line);
  align-self:end;
  max-width:29rem;
  padding-top:1rem}
.pair-symbol {
  color:var(--accent);
  letter-spacing:.22em}
.studio-grid aside p {
  color:var(--muted);
  margin:2rem 0 0}
.section-contact {
  background:var(--accent);
  color:var(--ink)}
.contact-grid {
  grid-template-columns:minmax(0,1.5fr) minmax(18rem,.8fr);
  gap:clamp(3rem,8vw,9rem);
  margin-top:clamp(3rem,7vw,7rem);
  display:grid}
.contact-grid h2 {
  max-width:12ch}
.contact-grid>div {
  align-self:end}
.contact-grid>div>p:first-child {
  max-width:33rem;
  margin:0 0 2rem;
  font-size:1.1rem}
.email-link {
  border-top:1px solid var(--ink);
  justify-content:space-between;
  gap:1rem;
  padding:1rem 0;
  display:flex}
@supports (color:color-mix(in lab, red, red)) {
  .email-link {
  border-top:1px solid color-mix(in srgb, var(--ink) 48%, transparent)}
}
.email-link {
  border-bottom:1px solid var(--ink)}
@supports (color:color-mix(in lab, red, red)) {
  .email-link {
  border-bottom:1px solid color-mix(in srgb, var(--ink) 48%, transparent)}
}
.email-link {
  letter-spacing:-.035em;
  font-size:clamp(1.15rem,2vw,2rem);
  font-weight:700}
.contact-grid .quiet {
  color:var(--ink)}
.site-footer {
  background:var(--ink);
  color:var(--white);
  grid-template-columns:1fr auto;
  align-items:end;
  gap:4rem 2rem;
  padding:4rem 3vw 2rem;
  display:grid}
.site-footer>div {
  color:#9c9c96;
  justify-self:end;
  gap:1.25rem;
  font-size:.75rem;
  font-weight:400;
  display:flex}
.site-footer p {
  color:#9c9c96;
  margin:0;
  font-size:.72rem}
.site-footer p:last-child {
  justify-self:end}
.redirect-page {
  text-align:center;
  place-content:center;
  min-height:100svh;
  padding:2rem;
  display:grid}
.redirect-page .wordmark {
  justify-self:center;
  margin-bottom:2rem}
.redirect-page p {
  color:var(--muted);
  margin:.4rem 0}
.legal-header {
  border-bottom:1px solid var(--line);
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  min-height:5rem;
  padding:0 3vw;
  display:grid}
.back-link {
  justify-self:center;
  font-size:.84rem;
  font-weight:600}
.legal-main {
  grid-template-columns:minmax(0,1.65fr) minmax(16rem,.7fr);
  gap:4rem 8vw;
  max-width:94rem;
  margin:0 auto;
  padding:clamp(4rem,9vw,9rem) 4vw;
  display:grid}
.legal-title h1 {
  letter-spacing:-.065em;
  overflow-wrap:anywhere;
  -webkit-hyphens:auto;
  hyphens:auto;
  max-width:100%;
  margin:1.5rem 0;
  font-size:clamp(3.2rem,5.3vw,5.5rem);
  line-height:.9}
.legal-title>p:last-child {
  max-width:40rem;
  color:var(--muted);
  font-size:1.08rem}
.legal-sections {
  grid-column:1;
  max-width:52rem}
.legal-sections section {
  border-top:1px solid var(--line);
  padding:2.25rem 0}
.legal-sections h2 {
  letter-spacing:-.025em;
  margin:0 0 1.3rem;
  font-size:1.35rem}
.legal-sections p {
  color:var(--muted);
  margin:.55rem 0}
.legal-footer {
  margin-top:0}
.hero .eyebrow,.hero h1,.hero-copy,.scroll-cue {
  animation:.64s cubic-bezier(.2,.75,.2,1) both enter}
.hero h1 {
  animation-delay:70ms}
.hero-copy {
  animation-delay:.21s}
.scroll-cue {
  animation-delay:.28s}
@keyframes enter {
  0% {
  opacity:var(--tw-enter-opacity,1);
  transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0)scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1))rotate(var(--tw-enter-rotate,0));
  filter:blur(var(--tw-enter-blur,0))}
}
@media (max-width:900px) {
  .site-header {
  grid-template-columns:1fr auto;
  gap:.75rem;
  padding:.85rem 4vw .7rem}
.section-nav {
  grid-area:2/1/auto/-1;
  justify-content:space-between;
  width:100%;
  overflow-x:auto}
.hero {
  min-height:auto;
  padding:4rem 4vw 2rem}
.hero-grid,.section-head {
  grid-template-rows:auto;
  grid-template-columns:1fr}
.hero-grid {
  min-height:calc(100svh - 10rem)}
.hero .eyebrow {
  grid-area:1/1;
  align-self:start;
  max-width:calc(100% - 5rem)}
.hero-symbol {
  grid-area:1/1;
  width:3.2rem}
.hero h1,.hero-copy,.scroll-cue {
  grid-column:1}
.hero h1 {
  grid-row:2}
.hero-copy {
  grid-row:3}
.scroll-cue {
  grid-row:4}
.hero h1 {
  align-self:center;
  font-size:clamp(3.6rem,15vw,7rem)}
.hero-copy,.section-intro {
  max-width:36rem}
.scroll-cue {
  margin-top:1rem}
.section {
  padding-left:4vw;
  padding-right:4vw}
}
@media (max-width:720px) {
  html {
  scroll-padding-top:8rem}
.section-nav {
  white-space:nowrap;
  justify-content:flex-start;
  gap:1.35rem;
  padding-bottom:.2rem}
.hero h1 {
  letter-spacing:-.065em}
.service-list {
  grid-template-columns:1fr}
.service-list article,.service-list article:not(:first-child) {
  border-right:0;
  border-bottom:1px solid var(--line);
  min-height:auto;
  padding:1.25rem 0 2.25rem}
.service-list h3 {
  margin-top:2.5rem}
.principle-list li {
  grid-template-columns:3rem 1fr}
.studio-grid,.contact-grid {
  grid-template-columns:1fr;
  gap:3.5rem}
.studio-grid h2 {
  grid-column:1}
.site-footer {
  grid-template-columns:1fr;
  gap:2.5rem}
.site-footer>div,.site-footer p:last-child {
  justify-self:start}
.legal-header {
  grid-template-columns:1fr auto;
  gap:.8rem;
  padding:.85rem 4vw}
.legal-header .back-link {
  grid-area:2/1/auto/-1;
  justify-self:start}
.legal-main {
  grid-template-columns:1fr;
  gap:2.5rem;
  padding-left:4vw;
  padding-right:4vw}
.legal-sections {
  grid-column:1}
}
@media (max-width:420px) {
  .wordmark {
  font-size:.92rem}
.hero h1 {
  font-size:clamp(3.15rem,16vw,4.8rem)}
.section h2 {
  font-size:clamp(2.45rem,13vw,4rem)}
.email-link {
  overflow-wrap:anywhere}
}
@media (prefers-reduced-motion:reduce) {
  html {
  scroll-behavior:auto}
*,:before,:after {
  scroll-behavior:auto!important;
  transition-duration:.01ms!important;
  animation-duration:.01ms!important;
  animation-iteration-count:1!important}
}
.contact-form-section {
  grid-template-columns:minmax(0,1.5fr) minmax(18rem,.8fr);
  gap:clamp(3rem,8vw,9rem);
  margin-top:3rem;
  display:grid}
.contact-form-wrap {
  border-top:1px solid var(--ink);
  grid-column:2;
  min-width:0;
  padding-top:1.5rem}
.contact-form-wrap h3 {
  letter-spacing:-.025em;
  margin:0 0 1rem;
  scroll-margin-top:7rem;
  font-size:1.4rem;
  font-weight:700}
.contact-form {
  gap:1.25rem;
  display:grid}
.contact-form label {
  margin-bottom:.5rem;
  font-size:1rem;
  font-weight:700;
  display:block}
.contact-form .contact-input {
  width:100%;
  height:auto;
  min-height:3rem;
  color:var(--ink);
  background:var(--paper);
  border:1px solid var(--ink);
  box-shadow:none;
  border-radius:0;
  padding:.8rem;
  font-family:inherit;
  font-size:1rem;
  line-height:1.5}
.contact-form textarea.contact-input {
  resize:vertical;
  field-sizing:fixed;
  min-height:10rem}
.contact-form .contact-input:focus-visible {
  outline:3px solid var(--ink);
  outline-offset:3px;
  box-shadow:none}
.contact-form .contact-input[aria-invalid=true] {
  border:2px solid var(--ink)}
.contact-form .contact-submit {
  border:1px solid var(--ink);
  background:var(--ink);
  height:auto;
  min-height:3rem;
  color:var(--white);
  white-space:normal;
  cursor:pointer;
  border-radius:0;
  justify-self:start;
  gap:1rem;
  padding:.9rem 1.2rem;
  font-size:1rem;
  font-weight:700}
.contact-form .contact-submit:hover {
  background:#30312c}
.contact-form .contact-submit:focus-visible {
  outline:3px solid var(--ink);
  outline-offset:4px;
  box-shadow:0 0 0 2px var(--white)}
.contact-form .contact-submit:disabled {
  opacity:.7;
  cursor:wait}
.contact-form .form-help,.contact-form-preview {
  color:var(--ink);
  margin:0;
  font-size:.875rem;
  line-height:1.6}
.contact-form-preview {
  border:1px dashed var(--ink);
  margin-bottom:1.25rem;
  padding:.75rem}
.contact-form .form-help a {
  text-underline-offset:.2em;
  text-decoration:underline}
.contact-form .field-error {
  margin:.5rem 0 0;
  font-size:.875rem;
  font-weight:700}
.contact-status {
  overflow-wrap:anywhere;
  min-height:1.5rem;
  margin:0;
  font-size:1rem;
  line-height:1.5}
.contact-status-error {
  font-weight:700}
.contact-trap {
  display:none}
@media (max-width:60rem) {
  .contact-form-section {
  grid-template-columns:minmax(0,1fr)}
.contact-form-wrap {
  grid-column:1}
}

/* Shared, quiet entry point to the Within line on the studio homepage. */
.within-studio-teaser {
  background:#e6e9df;
  border-top:1px solid var(--line);
}
.within-studio-teaser .studio-grid {
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  margin-top:1.5rem;
}
.within-studio-teaser .text-link { margin-top:1.5rem; }
@media (max-width:1100px) and (min-width:901px) {
  .site-header .section-nav { gap:.85rem; }
}
@media (max-width:720px) {
  .within-studio-teaser .studio-grid { grid-template-columns:1fr; gap:2rem; }
}
main:focus {
  outline:none}
body {
  overflow-wrap:break-word}
.hero h1 {
  letter-spacing:-.055em;
  line-height:1.04}
.hero h1 span+span {
  margin-top:.08em}
.section h2,.legal-title h1 {
  letter-spacing:-.045em;
  line-height:1.08}
.hero-grid>*,.section-head>*,.studio-grid>*,.contact-grid>*,.legal-main>* {
  min-width:0}
.service-list {
  grid-template-columns:repeat(auto-fit,minmax(min(100%,19rem),1fr))}
.service-list article {
  border-bottom:1px solid var(--line);
  min-width:0;
  padding:1.5rem}
.service-list article:not(:first-child) {
  padding-left:1.5rem}
.service-list h3,.service-list p {
  overflow-wrap:anywhere}
.section-nav,.language-switcher a,.quiet,.text-link,.back-link,.scroll-cue {
  font-size:.875rem}
.section-nav a,.text-link,.back-link {
  min-height:2.75rem}
.eyebrow,.kicker {
  font-size:.75rem}
.site-footer>div {
  flex-wrap:wrap;
  gap:.5rem 1.5rem;
  font-size:.875rem}
.site-footer>div a {
  align-items:center;
  min-height:2.75rem;
  display:inline-flex}
.site-footer p {
  font-size:.75rem}
.legal-sections a {
  text-underline-offset:.2em;
  overflow-wrap:anywhere;
  text-decoration:underline}
.legal-review {
  border:2px solid var(--accent-dark);
  background:var(--paper);
  color:var(--ink);
  margin:0 4vw;
  padding:1rem 1.25rem}
.legal-review p {
  margin:.5rem 0 0}
.legal-review a {
  text-decoration:underline}
.legal-section-pending {
  border-left:3px solid var(--accent-dark);
  padding-left:1rem!important}
.review-tag {
  color:var(--accent-dark);
  font-size:.875rem;
  font-weight:700;
  display:block}
.error-main {
  max-width:60rem;
  min-height:60svh;
  padding:clamp(3rem,8vw,7rem) 4vw}
.error-main h1 {
  letter-spacing:-.04em;
  margin:1rem 0;
  font-size:clamp(2.5rem,7vw,5rem);
  line-height:1.1}
@media (max-width:60rem) {
  .studio-grid,.contact-grid,.section-head {
  grid-template-columns:minmax(0,1fr)}
}
@media (max-width:45rem) {
  .hero h1 {
  letter-spacing:-.04em}
.hero-grid {
  min-height:auto}
.hero {
  padding-top:2.5rem}
.section {
  padding-top:4rem;
  padding-bottom:4rem}
.service-list article,.service-list article:not(:first-child) {
  border-right:0;
  padding:1.5rem 0}
.site-header {
  position:relative}
html {
  scroll-padding-top:1rem}
.section {
  scroll-margin-top:1rem}
}
@media (max-width:22rem) {
  .site-header,.legal-header {
  grid-template-columns:minmax(0,1fr)}
.language-switcher {
  justify-self:start}
.site-header .section-nav,.legal-header .back-link {
  grid-row:3}
.hero h1 {
  font-size:clamp(2.5rem,14vw,4rem)}
}

.section-nav{flex-wrap:wrap}.site-header{gap:1rem}.contact-submit:disabled{cursor:not-allowed}
