@font-face{font-family:"Merriweather";font-weight:700;font-style:normal;font-display:swap;src:url(../fonts/merriweather-latin-700-normal.woff2) format("woff2")}
@font-face{font-family:"Merriweather";font-weight:700;font-style:italic;font-display:swap;src:url(../fonts/merriweather-latin-700-italic.woff2) format("woff2")}
@font-face{font-family:"Merriweather";font-weight:900;font-style:normal;font-display:swap;src:url(../fonts/merriweather-latin-900-normal.woff2) format("woff2")}
@font-face{font-family:"Merriweather";font-weight:900;font-style:italic;font-display:swap;src:url(../fonts/merriweather-latin-900-italic.woff2) format("woff2")}
@font-face{font-family:"Manrope";font-weight:200 800;font-style:normal;font-display:swap;src:url(../fonts/manrope-latin-wght-normal.woff2) format("woff2")}
:root{
  --lav:#CBCDF5; --lav-soft:#EEEFFB; --accent:#8C98EA; --accent-text:#6F7CDB; --mint:#D3EDE5;
  --ink:#1E1E1E; --muted:#4A4A55; --charcoal:#262626; --line:#2B2B2B;
  --serif:"Merriweather",Georgia,"Times New Roman",serif;
  --sans:"Manrope",system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --pad:clamp(1.25rem,6vw,5.25rem);
}
*{box-sizing:border-box}
html{scroll-padding-top:5rem}
body{margin:0;background:#fff;color:var(--ink);font:400 1rem/1.7 var(--sans);-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:var(--accent-text);text-underline-offset:.2em}
:focus-visible{outline:3px solid var(--ink);outline-offset:3px;border-radius:4px}
.skip{position:absolute;left:-999px;top:0;background:var(--ink);color:#fff;padding:.6rem 1rem;z-index:20}
.skip:focus{left:0}
.wrap{width:100%;max-width:84rem;margin-inline:auto;padding-inline:var(--pad)}
.pad{padding-block:clamp(2.5rem,6vw,4.5rem)}
.narrow-col{max-width:50rem;margin-inline:0 auto;margin-left:auto}

h1,h2,h3{font-family:var(--serif);font-weight:900;letter-spacing:-.035em;line-height:1.15;margin:0 0 1rem}
h1{font-size:clamp(2.2rem,5.6vw,4rem)}
h2{font-size:clamp(1.9rem,3.6vw,2.75rem)}
.h3,h3{font-size:1.3rem;letter-spacing:-.02em}
.hl{color:var(--accent-text)}
em{font-style:italic}
p{margin:0 0 1rem}

/* header */
.site-header{position:sticky;top:0;z-index:10;background:#fff;border-bottom:1px solid #EDEDF2;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.5rem 2rem;padding:.9rem clamp(1.25rem,3vw,2.6rem)}
.brand{color:var(--ink);text-decoration:none;font-weight:500}
.site-header nav{display:flex;align-items:center;gap:1.75rem;font-size:.95rem;flex-wrap:wrap}
.site-header nav a{color:var(--muted);text-decoration:none}
.site-header nav a:hover,.site-header nav a[aria-current=page]{color:var(--ink)}
.site-header nav .pill{background:var(--lav);color:var(--ink);padding:.6rem 1.25rem;border-radius:.6rem;font-weight:500}
.site-header nav .pill:hover{background:var(--accent)}

/* buttons, icons */
.btn{display:inline-block;background:var(--charcoal);color:#fff;border:0;border-radius:.45rem;padding:.7rem 1.6rem;font:600 .95rem var(--sans);text-decoration:none;cursor:pointer}
.btn:hover{background:#000}
.icons{display:flex;gap:1rem;margin:2rem 0 0}
.icon{display:inline-grid;place-items:center;width:2.2rem;height:2.2rem;border-radius:50%;background:var(--lav);color:var(--ink)}
.icon.big{width:2.75rem;height:2.75rem}
.icon:hover{background:var(--accent)}

/* hero */
.hero{padding-top:clamp(2rem,5vw,3.5rem);padding-bottom:clamp(2rem,4vw,3rem)}
.badge{width:6.25rem;height:6.25rem;background:var(--ink);clip-path:polygon(98.00% 50.00%,97.87% 51.25%,97.50% 52.49%,96.91% 53.69%,96.17% 54.85%,95.32% 55.97%,94.45% 57.04%,93.63% 58.09%,92.91% 59.12%,92.34% 60.16%,91.95% 61.24%,91.75% 62.37%,91.72% 63.56%,91.83% 64.81%,92.02% 66.13%,92.23% 67.49%,92.41% 68.88%,92.47% 70.26%,92.38% 71.59%,92.08% 72.85%,91.57% 74.00%,90.83% 75.02%,89.89% 75.90%,88.78% 76.65%,87.56% 77.29%,86.27% 77.83%,84.98% 78.32%,83.74% 78.82%,82.60% 79.35%,81.58% 79.97%,80.71% 80.71%,79.97% 81.58%,79.35% 82.60%,78.82% 83.74%,78.32% 84.98%,77.83% 86.27%,77.29% 87.56%,76.65% 88.78%,75.90% 89.89%,75.02% 90.83%,74.00% 91.57%,72.85% 92.08%,71.59% 92.38%,70.26% 92.47%,68.88% 92.41%,67.49% 92.23%,66.13% 92.02%,64.81% 91.83%,63.56% 91.72%,62.37% 91.75%,61.24% 91.95%,60.16% 92.34%,59.12% 92.91%,58.09% 93.63%,57.04% 94.45%,55.97% 95.32%,54.85% 96.17%,53.69% 96.91%,52.49% 97.50%,51.25% 97.87%,50.00% 98.00%,48.75% 97.87%,47.51% 97.50%,46.31% 96.91%,45.15% 96.17%,44.03% 95.32%,42.96% 94.45%,41.91% 93.63%,40.88% 92.91%,39.84% 92.34%,38.76% 91.95%,37.63% 91.75%,36.44% 91.72%,35.19% 91.83%,33.87% 92.02%,32.51% 92.23%,31.12% 92.41%,29.74% 92.47%,28.41% 92.38%,27.15% 92.08%,26.00% 91.57%,24.98% 90.83%,24.10% 89.89%,23.35% 88.78%,22.71% 87.56%,22.17% 86.27%,21.68% 84.98%,21.18% 83.74%,20.65% 82.60%,20.03% 81.58%,19.29% 80.71%,18.42% 79.97%,17.40% 79.35%,16.26% 78.82%,15.02% 78.32%,13.73% 77.83%,12.44% 77.29%,11.22% 76.65%,10.11% 75.90%,9.17% 75.02%,8.43% 74.00%,7.92% 72.85%,7.62% 71.59%,7.53% 70.26%,7.59% 68.88%,7.77% 67.49%,7.98% 66.13%,8.17% 64.81%,8.28% 63.56%,8.25% 62.37%,8.05% 61.24%,7.66% 60.16%,7.09% 59.12%,6.37% 58.09%,5.55% 57.04%,4.68% 55.97%,3.83% 54.85%,3.09% 53.69%,2.50% 52.49%,2.13% 51.25%,2.00% 50.00%,2.13% 48.75%,2.50% 47.51%,3.09% 46.31%,3.83% 45.15%,4.68% 44.03%,5.55% 42.96%,6.37% 41.91%,7.09% 40.88%,7.66% 39.84%,8.05% 38.76%,8.25% 37.63%,8.28% 36.44%,8.17% 35.19%,7.98% 33.87%,7.77% 32.51%,7.59% 31.12%,7.53% 29.74%,7.62% 28.41%,7.92% 27.15%,8.43% 26.00%,9.17% 24.98%,10.11% 24.10%,11.22% 23.35%,12.44% 22.71%,13.73% 22.17%,15.02% 21.68%,16.26% 21.18%,17.40% 20.65%,18.42% 20.03%,19.29% 19.29%,20.03% 18.42%,20.65% 17.40%,21.18% 16.26%,21.68% 15.02%,22.17% 13.73%,22.71% 12.44%,23.35% 11.22%,24.10% 10.11%,24.98% 9.17%,26.00% 8.43%,27.15% 7.92%,28.41% 7.62%,29.74% 7.53%,31.12% 7.59%,32.51% 7.77%,33.87% 7.98%,35.19% 8.17%,36.44% 8.28%,37.63% 8.25%,38.76% 8.05%,39.84% 7.66%,40.88% 7.09%,41.91% 6.37%,42.96% 5.55%,44.03% 4.68%,45.15% 3.83%,46.31% 3.09%,47.51% 2.50%,48.75% 2.13%,50.00% 2.00%,51.25% 2.13%,52.49% 2.50%,53.69% 3.09%,54.85% 3.83%,55.97% 4.68%,57.04% 5.55%,58.09% 6.37%,59.12% 7.09%,60.16% 7.66%,61.24% 8.05%,62.37% 8.25%,63.56% 8.28%,64.81% 8.17%,66.13% 7.98%,67.49% 7.77%,68.88% 7.59%,70.26% 7.53%,71.59% 7.62%,72.85% 7.92%,74.00% 8.43%,75.02% 9.17%,75.90% 10.11%,76.65% 11.22%,77.29% 12.44%,77.83% 13.73%,78.32% 15.02%,78.82% 16.26%,79.35% 17.40%,79.97% 18.42%,80.71% 19.29%,81.58% 20.03%,82.60% 20.65%,83.74% 21.18%,84.98% 21.68%,86.27% 22.17%,87.56% 22.71%,88.78% 23.35%,89.89% 24.10%,90.83% 24.98%,91.57% 26.00%,92.08% 27.15%,92.38% 28.41%,92.47% 29.74%,92.41% 31.12%,92.23% 32.51%,92.02% 33.87%,91.83% 35.19%,91.72% 36.44%,91.75% 37.63%,91.95% 38.76%,92.34% 39.84%,92.91% 40.88%,93.63% 41.91%,94.45% 42.96%,95.32% 44.03%,96.17% 45.15%,96.91% 46.31%,97.50% 47.51%,97.87% 48.75%);display:grid;place-items:center;margin-bottom:2rem}
.badge div{width:calc(100% - 6px);height:calc(100% - 6px);background:var(--lav);clip-path:polygon(98.00% 50.00%,97.87% 51.25%,97.50% 52.49%,96.91% 53.69%,96.17% 54.85%,95.32% 55.97%,94.45% 57.04%,93.63% 58.09%,92.91% 59.12%,92.34% 60.16%,91.95% 61.24%,91.75% 62.37%,91.72% 63.56%,91.83% 64.81%,92.02% 66.13%,92.23% 67.49%,92.41% 68.88%,92.47% 70.26%,92.38% 71.59%,92.08% 72.85%,91.57% 74.00%,90.83% 75.02%,89.89% 75.90%,88.78% 76.65%,87.56% 77.29%,86.27% 77.83%,84.98% 78.32%,83.74% 78.82%,82.60% 79.35%,81.58% 79.97%,80.71% 80.71%,79.97% 81.58%,79.35% 82.60%,78.82% 83.74%,78.32% 84.98%,77.83% 86.27%,77.29% 87.56%,76.65% 88.78%,75.90% 89.89%,75.02% 90.83%,74.00% 91.57%,72.85% 92.08%,71.59% 92.38%,70.26% 92.47%,68.88% 92.41%,67.49% 92.23%,66.13% 92.02%,64.81% 91.83%,63.56% 91.72%,62.37% 91.75%,61.24% 91.95%,60.16% 92.34%,59.12% 92.91%,58.09% 93.63%,57.04% 94.45%,55.97% 95.32%,54.85% 96.17%,53.69% 96.91%,52.49% 97.50%,51.25% 97.87%,50.00% 98.00%,48.75% 97.87%,47.51% 97.50%,46.31% 96.91%,45.15% 96.17%,44.03% 95.32%,42.96% 94.45%,41.91% 93.63%,40.88% 92.91%,39.84% 92.34%,38.76% 91.95%,37.63% 91.75%,36.44% 91.72%,35.19% 91.83%,33.87% 92.02%,32.51% 92.23%,31.12% 92.41%,29.74% 92.47%,28.41% 92.38%,27.15% 92.08%,26.00% 91.57%,24.98% 90.83%,24.10% 89.89%,23.35% 88.78%,22.71% 87.56%,22.17% 86.27%,21.68% 84.98%,21.18% 83.74%,20.65% 82.60%,20.03% 81.58%,19.29% 80.71%,18.42% 79.97%,17.40% 79.35%,16.26% 78.82%,15.02% 78.32%,13.73% 77.83%,12.44% 77.29%,11.22% 76.65%,10.11% 75.90%,9.17% 75.02%,8.43% 74.00%,7.92% 72.85%,7.62% 71.59%,7.53% 70.26%,7.59% 68.88%,7.77% 67.49%,7.98% 66.13%,8.17% 64.81%,8.28% 63.56%,8.25% 62.37%,8.05% 61.24%,7.66% 60.16%,7.09% 59.12%,6.37% 58.09%,5.55% 57.04%,4.68% 55.97%,3.83% 54.85%,3.09% 53.69%,2.50% 52.49%,2.13% 51.25%,2.00% 50.00%,2.13% 48.75%,2.50% 47.51%,3.09% 46.31%,3.83% 45.15%,4.68% 44.03%,5.55% 42.96%,6.37% 41.91%,7.09% 40.88%,7.66% 39.84%,8.05% 38.76%,8.25% 37.63%,8.28% 36.44%,8.17% 35.19%,7.98% 33.87%,7.77% 32.51%,7.59% 31.12%,7.53% 29.74%,7.62% 28.41%,7.92% 27.15%,8.43% 26.00%,9.17% 24.98%,10.11% 24.10%,11.22% 23.35%,12.44% 22.71%,13.73% 22.17%,15.02% 21.68%,16.26% 21.18%,17.40% 20.65%,18.42% 20.03%,19.29% 19.29%,20.03% 18.42%,20.65% 17.40%,21.18% 16.26%,21.68% 15.02%,22.17% 13.73%,22.71% 12.44%,23.35% 11.22%,24.10% 10.11%,24.98% 9.17%,26.00% 8.43%,27.15% 7.92%,28.41% 7.62%,29.74% 7.53%,31.12% 7.59%,32.51% 7.77%,33.87% 7.98%,35.19% 8.17%,36.44% 8.28%,37.63% 8.25%,38.76% 8.05%,39.84% 7.66%,40.88% 7.09%,41.91% 6.37%,42.96% 5.55%,44.03% 4.68%,45.15% 3.83%,46.31% 3.09%,47.51% 2.50%,48.75% 2.13%,50.00% 2.00%,51.25% 2.13%,52.49% 2.50%,53.69% 3.09%,54.85% 3.83%,55.97% 4.68%,57.04% 5.55%,58.09% 6.37%,59.12% 7.09%,60.16% 7.66%,61.24% 8.05%,62.37% 8.25%,63.56% 8.28%,64.81% 8.17%,66.13% 7.98%,67.49% 7.77%,68.88% 7.59%,70.26% 7.53%,71.59% 7.62%,72.85% 7.92%,74.00% 8.43%,75.02% 9.17%,75.90% 10.11%,76.65% 11.22%,77.29% 12.44%,77.83% 13.73%,78.32% 15.02%,78.82% 16.26%,79.35% 17.40%,79.97% 18.42%,80.71% 19.29%,81.58% 20.03%,82.60% 20.65%,83.74% 21.18%,84.98% 21.68%,86.27% 22.17%,87.56% 22.71%,88.78% 23.35%,89.89% 24.10%,90.83% 24.98%,91.57% 26.00%,92.08% 27.15%,92.38% 28.41%,92.47% 29.74%,92.41% 31.12%,92.23% 32.51%,92.02% 33.87%,91.83% 35.19%,91.72% 36.44%,91.75% 37.63%,91.95% 38.76%,92.34% 39.84%,92.91% 40.88%,93.63% 41.91%,94.45% 42.96%,95.32% 44.03%,96.17% 45.15%,96.91% 46.31%,97.50% 47.51%,97.87% 48.75%);overflow:hidden}
.badge img{width:100%;height:100%;object-fit:cover}
.hero h1{max-width:20ch;font-size:clamp(2.3rem,5.4vw,4.1rem);margin-bottom:2rem}
.hero .lead{max-width:44rem;font-size:1.1rem}

/* scrolling strips */
.strip-wrap{padding-bottom:clamp(3rem,7vw,6rem)}
.strip{list-style:none;margin:0;padding:0 0 .5rem;display:flex;gap:.9rem;overflow-x:auto;scroll-snap-type:x proximity}
.strip li{flex:0 0 auto;scroll-snap-align:start}
.strip img{height:clamp(11rem,17vw,15rem);width:auto;aspect-ratio:3/2;object-fit:cover;border-radius:1rem}
.life img{height:clamp(11rem,20vw,16rem);aspect-ratio:auto;width:auto}

/* feature split */
.feature{display:grid;grid-template-columns:1fr 1fr;border-block:2px solid var(--line);min-height:28rem}
.feature-text{background:var(--lav);display:flex;flex-direction:column;justify-content:center;padding:3rem var(--pad);border-right:2px solid var(--line)}
.feature-text p{max-width:32rem;font-size:1.05rem}
.feature-text h2{font-size:clamp(2rem,4vw,3rem)}
.feature-img{width:100%;height:100%;object-fit:cover}
@media(max-width:52rem){.feature{grid-template-columns:1fr}.feature-text{border-right:0;border-bottom:2px solid var(--line)}.feature-img{aspect-ratio:4/3;height:auto}}

/* praise */
.praise{background:var(--lav-soft);padding-block:clamp(3rem,7vw,5rem)}
.scroller{list-style:none;margin:2rem auto 0;display:flex;gap:1.5rem;overflow-x:auto;scroll-snap-type:x proximity;padding-bottom:1rem}
.quote{flex:0 0 min(26rem,82vw);scroll-snap-align:start;background:#fff;border-radius:1rem;padding:2rem}
.quote .round{width:4.4rem;height:4.4rem;border-radius:50%;object-fit:cover;margin-bottom:1rem}
.quote h3{margin:0;font-size:1.4rem}
.role{font-size:.9rem;margin:.1rem 0 1rem}
.quote p:last-child{color:var(--muted);margin:0}

/* cta */
.cta{text-align:center;padding:clamp(4rem,9vw,7rem) var(--pad);border-top:2px solid var(--line);background:linear-gradient(180deg,#8C98EA 0%,#B9C0F4 50%,#8C98EA 100%)}
.cta h2{margin-bottom:.4rem}
.cta p{font-weight:700;margin-bottom:1.25rem}

/* footer */
.site-footer{background:var(--charcoal);color:#fff;padding:2.5rem clamp(1.25rem,3vw,2.6rem) 2.25rem}
.foot-row{display:flex;align-items:center;flex-wrap:wrap;gap:1rem 2.5rem;padding-bottom:2rem;border-bottom:1px solid #444}
.site-footer .brand{color:#fff;font-weight:700}
.site-footer nav{display:flex;gap:1.5rem;flex-wrap:wrap;font-size:.85rem;flex:1}
.site-footer nav a{color:#BDBDC6;text-decoration:none}
.site-footer nav a:hover{color:#fff}
.site-footer .icon{background:#3a3a3a;color:#fff}
.copy{text-align:center;font-size:.85rem;color:#BDBDC6;margin:2rem 0 0}

/* about */
.about-hero{background:var(--lav);border-top:2px solid var(--line);border-bottom:2px solid var(--line);padding-block:clamp(3rem,7vw,6rem) clamp(3rem,6vw,5rem)}
.about-hero h1{font-size:clamp(2rem,4.5vw,3rem);margin-bottom:2rem}
.about-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(1.5rem,4vw,3.5rem);align-items:start}
.portrait{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:1.25rem;border:4px solid #fff;box-shadow:0 0 0 2px var(--ink)}
.about-grid h2{font-size:1.6rem;letter-spacing:-.025em}
.about-grid p{font-size:.95rem}
@media(max-width:46rem){.about-grid{grid-template-columns:1fr}}
.inspo{padding-block:clamp(3rem,6vw,5rem) 2rem}
.inspo h2{font-size:clamp(1.9rem,3.6vw,2.6rem)}
.cols{display:grid;grid-template-columns:1fr 1fr;gap:0 3rem;margin-bottom:2rem;font-size:.95rem}
@media(max-width:46rem){.cols{grid-template-columns:1fr}}
.facts{display:grid;gap:clamp(2.5rem,6vw,4rem);padding-block:3rem clamp(3rem,7vw,5rem);max-width:60rem}
.fact{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.5rem,4vw,3.5rem);align-items:center}
.fact img{border-radius:1rem;width:100%;aspect-ratio:6/5;object-fit:cover}
.fact h2{font-size:clamp(1.8rem,3.2vw,2.4rem)}
.fact p{font-size:.95rem}
.fact.reverse img{order:2}
@media(max-width:46rem){.fact{grid-template-columns:1fr}.fact.reverse img{order:0}}
.looking{background:var(--lav);border-block:2px solid var(--line);text-align:center;padding:clamp(3rem,7vw,5rem) var(--pad)}
.pills{list-style:none;margin:2rem auto 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:.9rem;max-width:40rem}
.pills li{background:#fff;border:2px solid var(--ink);border-radius:999px;padding:1.4rem 1rem;font:700 1rem var(--serif);letter-spacing:-.02em;line-height:1.3;display:grid;place-items:center;min-height:5.2rem}
.pills .hl{color:var(--accent-text)}
@media(max-width:34rem){.pills{grid-template-columns:1fr}}

/* portfolio grid */
.grid{list-style:none;margin:2rem 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,22rem),1fr));gap:2rem}
.tile{display:block;text-decoration:none;color:var(--ink)}
.tile img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:1rem;margin-bottom:1rem}
.tile h2{margin:0 0 .25rem;font-size:1.35rem}
.tile p{color:var(--muted);margin:0}
.tile:hover h2{color:var(--accent-text);text-decoration:underline;text-underline-offset:.2em}

/* case study */
.case{max-width:46rem;margin-inline:auto;padding:clamp(2.5rem,6vw,4rem) clamp(1.25rem,5vw,2rem) clamp(3rem,7vw,5rem);font-size:.95rem}
.case h1{font-size:clamp(2rem,4.6vw,2.9rem);margin-bottom:1.25rem}
.case h2{font-size:1.9rem;margin:2.5rem 0 .75rem}
.case h3{font:500 1.05rem/1.4 var(--sans);letter-spacing:0;margin:2rem 0 .5rem}
.case h3.takeaway{font:900 1.3rem/1.3 var(--serif);letter-spacing:-.02em}
.intro{font-weight:700;margin-bottom:1.5rem}
.chips{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;margin:0 0 1.5rem}
.chips div{background:var(--mint);border-radius:.5rem;padding:.7rem 1rem}
.chips dt{font-size:.8rem;color:var(--muted)}
.chips dd{margin:0;font-size:.9rem}
@media(max-width:34rem){.chips{grid-template-columns:1fr}}
.pair{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin:1.5rem 0}
.pair img,.full{border-radius:.75rem;width:100%;margin:1.25rem 0}
.pair img{margin:0;aspect-ratio:4/3;object-fit:cover}
blockquote{margin:1.25rem 0;padding:.25rem 0 .25rem 1rem;border-left:3px solid var(--lav);color:#777;font-style:italic}
blockquote ul{margin:0;padding-left:1.1rem}
.bullets{padding-left:1.25rem}
.bullets li{margin-bottom:.9rem}

/* contact */
form{display:grid;gap:.5rem;margin:2rem 0;max-width:36rem}
label{font-weight:700;margin-top:.75rem}
input,textarea{font:inherit;color:inherit;background:var(--lav-soft);border:1px solid #CCD0EE;border-radius:.5rem;padding:.8rem 1rem;width:100%}
form .btn{justify-self:start;margin-top:1.25rem}
.hp{position:absolute;left:-9999px}
@media(prefers-reduced-motion:no-preference){a,.btn,.icon{transition:background-color .15s,color .15s}}
