:root{color-scheme:light;--ink:#21171d;--rose:#f965bd;--rose-dark:#8a215b;--pale:#ffeaf5;--paper:#fffaf7;--line:#e9d7df;--muted:#66545e;--display:"Instrument Serif",Georgia,serif;--body:"DM Sans",system-ui,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 var(--body)}
img{display:block;max-width:100%}
a{color:inherit;text-underline-offset:4px}
button{font:inherit;color:inherit}
:focus-visible{outline:3px solid #921452;outline-offset:4px}
.skip{position:absolute;left:1rem;top:1rem;z-index:10;background:white;padding:.5rem;transform:translateY(-160%)}
.skip:focus{transform:none}
.wrap{max-width:1200px;width:calc(100% - 100px);margin-inline:auto}
.header{background:var(--paper);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:92px}
.brand{display:inline-flex;align-items:center;flex:none;text-decoration:none}
.brand .brand-logo{width:auto;height:78px}
.workspace-header .brand-logo{height:58px}
nav{display:flex;gap:32px;align-items:center}
nav a{text-decoration:none;font-weight:600;font-size:.91rem}
nav a:hover,.sub-link:hover,.service-link:hover{color:var(--rose-dark)}
.button{display:inline-flex;align-items:center;justify-content:center;gap:16px;border:1px solid transparent;border-radius:6px;min-height:50px;padding:11px 19px;text-decoration:none;font-size:.92rem;font-weight:700;transition:background .18s,color .18s}
.dark{background:var(--ink);color:white}
.dark:hover{background:#592143}
.outline{border-color:var(--ink)}
.outline:hover{background:var(--pale)}
.hero{background:var(--pale);overflow:hidden}
.hero-grid{display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:50px;min-height:565px}
.hero-copy{padding:58px 0}
.label{margin:0 0 14px;font-size:.73rem;font-weight:700;letter-spacing:.16em;color:var(--rose-dark)}
.label span{display:inline-block;width:8px;height:8px;background:var(--rose-dark);border-radius:50%;margin-right:6px}
h1,h2,h3{font-family:var(--display);font-weight:400;margin:0;line-height:.98}
h1{font-size:clamp(4rem,7.5vw,7.65rem);letter-spacing:-.035em}
h2{font-size:clamp(3rem,5.6vw,5.2rem);letter-spacing:-.025em}
h3{font-size:2.7rem}
em{color:var(--rose-dark);font-weight:400}
.intro{font-size:1.13rem;max-width:460px;margin:24px 0 26px;color:#563b4a}
.actions{display:flex;gap:22px;align-items:center;flex-wrap:wrap}
.sub-link,.service-link{font-weight:700;font-size:.92rem}
.hero-art{align-self:end;position:relative;height:500px;isolation:isolate;display:flex;justify-content:center;align-items:flex-end}
.frame{position:absolute;inset:30px 7% 0;border-radius:49% 49% 0 0;background:var(--rose);border:1px solid #a83d78;box-shadow:0 0 0 10px #ffcee9;z-index:-1}
.hero-art img{position:relative;height:95%;width:96%;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 9px 18px #6f2f5650)}
.star{position:absolute;right:8%;top:50px;color:#74214e;font-size:3rem;z-index:1}
.art-caption{position:absolute;bottom:18px;left:11%;right:11%;display:flex;justify-content:space-between;gap:6px;padding:8px 12px;background:#23151ddd;color:white;border:1px solid #ffffff60;font-size:.66rem;font-weight:700;letter-spacing:.15em}
.values{background:var(--ink);color:white}
.values .wrap{display:flex;justify-content:center;align-items:center;gap:clamp(10px,7vw,95px);min-height:65px;font-size:.84rem;font-weight:600;letter-spacing:.08em}
.values b{color:var(--rose)}
.section{padding-block:86px;scroll-margin-top:10px}
.services{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:32px}
.services article,.office{border:1px solid var(--line);background:#fff;padding:clamp(23px,4vw,47px);border-radius:12px}
.services article:nth-child(2){background:var(--pale)}
.services article p:not(.label){color:var(--muted);max-width:330px}
.service-link{display:inline-block;margin-top:11px}
.prep{background:#f7efea}
.prep-grid,.contact,.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(25px,7vw,100px);align-items:center}
.prep-grid p:not(.label),.split p,.contact p:not(.label){color:var(--muted)}
.checklists details{border-bottom:1px solid #d7beca;padding:13px 0}
summary{font-weight:700;cursor:pointer}
.checklists ul{margin:8px 0 5px;padding-left:23px}
.fine{font-size:.83rem}
.mission{background:var(--ink);color:white}
.mission .label{color:#ff9cd4}
.mission h2{max-width:900px;font-size:clamp(2.75rem,6vw,5.5rem)}
.choices{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0 12px}
.choices button{border:1px solid #cba5ba;border-radius:99px;background:white;cursor:pointer;padding:7px 13px;font-size:.84rem;font-weight:600}
.choices button[aria-pressed=true]{background:var(--pale);border-color:var(--rose-dark);color:#70204c}
.office address{font-style:normal;margin:14px 0 7px}
.office a{display:block;margin-top:8px;font-size:.92rem;overflow-wrap:anywhere}
footer{border-top:1px solid var(--line)}
.foot{display:flex;justify-content:space-between;gap:10px;padding-block:27px;font-size:.84rem}
@media(max-width:900px){.wrap{width:calc(100% - 48px)}.hero-grid{gap:20px;min-height:500px}.hero-art{height:420px}}
@media(max-width:680px){.wrap{width:calc(100% - 36px)}.nav{min-height:68px;flex-wrap:wrap;gap:0 10px;padding-block:5px 12px}.nav nav{order:3;justify-content:center;width:100%;gap:22px}.nav .button{min-height:41px;padding:6px 10px;gap:5px;font-size:.81rem}.brand .brand-logo{height:64px}.workspace-header .brand-logo{height:54px}.hero-grid,.prep-grid,.contact,.split,.services{grid-template-columns:1fr}.hero-grid{gap:0}.hero-copy{padding:45px 0 18px}.hero-art{height:clamp(285px,86vw,435px);margin-top:8px}.hero-art img{width:95%}.section{padding-block:57px}h1{font-size:clamp(3.25rem,13vw,5.6rem)}.actions{gap:12px 18px}.values .wrap{font-size:.74rem}.foot{flex-wrap:wrap}.intro{font-size:1.02rem}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}
.hero-art img{width:113%;max-width:113%;height:92%}
.mission-grid{display:grid;grid-template-columns:1.7fr 1fr;gap:38px;align-items:center}
.mission figure{margin:0;position:relative}
.mission figure img{width:auto;height:310px;margin:auto;object-fit:contain;position:relative}
.mission figure::before{content:"";position:absolute;inset:20px 8% 30px;background:#723452;border-radius:50% 50% 10px 10px}
.mission figcaption{position:relative;font-size:.85rem;text-align:center;margin-top:10px}
@media(max-width:680px){.hero-art img{width:100%;max-width:100%}.mission-grid{grid-template-columns:1fr}.mission figure{max-width:340px;width:100%;margin:auto}.mission figure img{height:260px}}
.foot-links{display:flex;flex-wrap:wrap;gap:18px}
@media(max-width:380px){.nav nav{gap:12px}.nav nav a{font-size:.81rem}}

/* Homepage motion */
.hero-spark{position:absolute;z-index:1;line-height:1;color:#a42a71;pointer-events:none}
.hero-spark-left{left:6%;top:32%;font-size:clamp(1.4rem,3vw,2.25rem)}
.hero-spark-top{right:22%;top:15px;color:#b33c7e;font-size:1rem}
.homepage .star{pointer-events:none}
.homepage .checklists summary::marker{color:var(--rose-dark)}
.homepage .choices button:hover{border-color:var(--rose-dark)}

@media(prefers-reduced-motion:no-preference){
  .hero-copy .label,.hero-copy .intro,.hero-copy .actions{animation:rise-in 650ms cubic-bezier(.2,.75,.2,1) both}
  .hero-copy .intro{animation-delay:220ms}
  .hero-copy .actions{animation-delay:320ms}
  .hero-art img{animation:rise-in 900ms cubic-bezier(.2,.75,.2,1) 90ms both}
  .hero-art .star,.hero-spark{animation:spark-drift 2.1s ease-in-out 2}
  .hero-spark-left{animation-delay:220ms}
  .hero-spark-top{animation-delay:420ms}
  .homepage .button,.homepage .services article,.homepage .choices button{
    transition:background-color 200ms,color 200ms,border-color 200ms,box-shadow 240ms,transform 240ms;
  }
  .homepage .checklists details[open] ul{animation:rise-in 240ms ease-out}
  .homepage [data-reveal].has-entered{animation:rise-in 650ms cubic-bezier(.2,.75,.2,1)}
  .homepage .services article:nth-child(2).has-entered{animation-delay:85ms}
}

@media(prefers-reduced-motion:no-preference) and (hover:hover){
  .homepage .services article:hover{transform:translateY(-5px);box-shadow:0 16px 28px #59214317}
  .homepage .button:hover{transform:translateY(-2px);box-shadow:0 7px 15px #59214326}
}


@keyframes rise-in{
  from{opacity:.35;translate:0 12px}
  to{opacity:1;translate:0 0}
}

@keyframes spark-drift{
  0%,100%{transform:translateY(0) rotate(0)}
  50%{transform:translateY(-21px) rotate(19deg) scale(1.21)}
}

.motion-toggle{
  display:inline-flex;
  align-items:center;
  min-height:44px;
  margin-top:9px;
  padding:0;
  background:none;
  border:0;
  color:var(--rose-dark);
  font-size:.78rem;
  font-weight:700;
  text-decoration:underline;
  text-underline-offset:3px;
  cursor:pointer;
}
.motion-toggle[hidden]{display:none}
@media(prefers-reduced-motion:no-preference){
  .homepage.motion-on .hero-art .star,
  .homepage.motion-on .hero-spark{
    animation:spark-drift 2.8s ease-in-out infinite;
  }
  .homepage.motion-on .hero-spark-left{animation-delay:-.9s}
  .homepage.motion-on .hero-spark-top{animation-delay:-1.8s}
  .homepage.motion-paused .hero :is(.star,.hero-spark){animation:none}
}

.homepage .hero{background:#fff}
.homepage .hero-copy .mission-title{width:min(100%,540px);height:auto}
.homepage .hero-copy .mission-statement{max-width:540px;color:var(--ink);font-size:clamp(.82rem,1.45vw,1rem);font-weight:600;letter-spacing:.035em;line-height:1.65}
.homepage .hero-copy .button.dark{background:var(--rose);color:var(--ink)}
.homepage .hero-copy .button.dark:hover{background:#ff94d0}
@media(prefers-reduced-motion:no-preference){
  .homepage .mission-title{animation:rise-in 800ms cubic-bezier(.2,.75,.2,1) both}
}
