@import url('https://fonts.googleapis.com/css2?family=Sorts+Mill+Goudy&family=Inter:wght@400;500;600&display=swap');

:root{
  --ink:#17204B;
  --ink-soft:#1A1A18;
  --ink-faint:#1A1A18;
  --border:#D5D8E2;
  --border-soft:#D5D8E2;
  --paper:#FFFFFF;
  --paper-alt:#F0F1EC;
  --accent:#17204B;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth; scroll-padding-top:76px;}
body{
  margin:0;
  background:var(--paper);
  color:var(--ink-soft);
  font-family:'Inter', sans-serif;
  font-size:16px;
  line-height:1.6;
}
a{color:inherit; text-decoration:none;}
.serif{font-family:'Sorts Mill Goudy', serif;}
.wrap{max-width:900px; margin:0 auto; padding:0 32px;}

/* nav */
nav{
  display:flex; justify-content:space-between; align-items:center;
  padding:24px 32px;
  position:sticky; top:0; z-index:100; background:var(--paper);
}
nav .brand{font-family:'Sorts Mill Goudy', serif; font-size:26px; line-height:1; color:var(--accent); white-space:nowrap;}
nav .links{display:flex; gap:20px; font-size:13px; color:var(--ink); align-items:center;}
nav .links a{padding:10px 0; color:#5E668C; border-bottom:1px solid transparent;}
nav .links a:hover, nav .links a[aria-current="page"]{color:var(--ink); border-bottom-color:var(--ink);}
nav .links a:focus-visible{outline:1.5px solid var(--ink); outline-offset:2px;}

/* hero */
.hero{position:relative; padding:20px 32px 60px; max-width:900px; margin:0 auto;}
.hero h1{
  font-family:'Sorts Mill Goudy', serif; font-weight:400;
  font-size:clamp(28px,4vw,35px); line-height:1.18; letter-spacing:-0.005em;
  color:var(--ink); max-width:470px; margin:0 0 24px;
}
.hero .sub{font-size:16px; font-weight:500; color:var(--ink-soft); max-width:400px; margin:0 0 30px;}
.hero .focus-list{font-size:14px; color:var(--ink-soft); margin:0 0 8px;}
.hero .grad-line{font-size:12.5px; color:var(--ink-faint); margin:0 0 22px;}
.hero .cta{font-size:13px; color:var(--ink); border-bottom:1px solid var(--ink); padding-bottom:2px;}

.hero-illustration{position:absolute; top:10px; right:24px; width:250px; height:200px;}
.hero-illustration img.topo{position:absolute; top:0; right:0; width:170px; height:auto;}
.hero-illustration img.dot{position:absolute; width:38px; height:auto; left:52px; top:125px; z-index:2;}
.hero-illustration .coords{
  position:absolute; left:52px; top:166px; text-align:left; white-space:nowrap;
  font-family:'JetBrains Mono', monospace; font-size:10px; color:var(--ink-faint);
  line-height:1.5;
}

/* selected work */
.section-label{font-family:'Sorts Mill Goudy', serif; font-size:19px; color:var(--ink); margin-bottom:8px;}
.section-hint{font-size:11px; color:var(--ink-faint); margin-bottom:20px;}
.section-head{display:flex; align-items:center; justify-content:space-between; gap:9px; margin-bottom:18px;}
.section-head .section-label{margin-bottom:0;}

#work{padding:36px max(32px, calc((100% - 836px) / 2)) 30px; background:#EEF2FA;}
.accent-word{color:#2E44A6;}
@media (max-width:640px){#work{padding:28px 22px 22px;}}

.sw-list{position:relative;}
/* hand-drawn rules: thin pen strokes with tapered ends, each one drawn a little differently */
.sw-list::before{content:""; display:block; height:8px; margin:-4px 0; background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 600 8' width='600' height='8'%3E%3Cpath d='M0.0 3.62 L5.0 3.80 L10.0 3.82 L15.0 3.74 L20.0 3.54 L25.0 3.37 L30.0 3.46 L35.0 3.53 L40.0 3.66 L45.0 3.37 L50.0 3.11 L55.0 2.75 L60.0 2.85 L65.0 3.05 L70.0 3.40 L75.0 3.54 L80.0 3.51 L85.0 3.51 L90.0 3.53 L95.0 3.78 L100.0 3.80 L105.0 3.83 L110.0 3.56 L115.0 3.54 L120.0 3.54 L125.0 3.79 L130.0 3.82 L135.0 3.64 L140.0 3.26 L145.0 2.89 L150.0 2.87 L155.0 2.96 L160.0 3.28 L165.0 3.28 L170.0 3.35 L175.0 3.24 L180.0 3.43 L185.0 3.58 L190.0 3.76 L195.0 3.71 L200.0 3.55 L205.0 3.52 L210.0 3.60 L215.0 3.93 L220.0 3.97 L225.0 3.93 L230.0 3.46 L235.0 3.19 L240.0 2.96 L245.0 3.10 L250.0 3.20 L255.0 3.24 L260.0 3.17 L265.0 3.09 L270.0 3.26 L275.0 3.40 L280.0 3.64 L285.0 3.51 L290.0 3.47 L295.0 3.34 L300.0 3.60 L305.0 3.86 L310.0 4.13 L315.0 4.05 L320.0 3.73 L325.0 3.43 L330.0 3.20 L335.0 3.30 L340.0 3.27 L345.0 3.32 L350.0 3.08 L355.0 3.09 L360.0 3.09 L365.0 3.35 L370.0 3.43 L375.0 3.39 L380.0 3.24 L385.0 3.16 L390.0 3.41 L395.0 3.71 L400.0 4.11 L405.0 4.05 L410.0 3.93 L415.0 3.56 L420.0 3.51 L425.0 3.46 L430.0 3.53 L435.0 3.41 L440.0 3.21 L445.0 3.12 L450.0 3.11 L455.0 3.34 L460.0 3.34 L465.0 3.33 L470.0 3.02 L475.0 3.01 L480.0 3.10 L485.0 3.55 L490.0 3.86 L495.0 4.00 L500.0 3.89 L505.0 3.67 L510.0 3.66 L515.0 3.64 L520.0 3.76 L525.0 3.54 L530.0 3.43 L535.0 3.19 L540.0 3.30 L545.0 3.37 L550.0 3.46 L555.0 3.28 L560.0 2.98 L565.0 2.84 L570.0 2.89 L575.0 3.31 L580.0 3.58 L585.0 3.84 L590.0 3.69 L595.0 3.69 L600.0 3.62 L600.0 4.72 L595.0 4.79 L590.0 4.79 L585.0 4.94 L580.0 4.68 L575.0 4.41 L570.0 3.99 L565.0 3.94 L560.0 4.08 L555.0 4.38 L550.0 4.56 L545.0 4.47 L540.0 4.40 L535.0 4.29 L530.0 4.53 L525.0 4.64 L520.0 4.86 L515.0 4.74 L510.0 4.76 L505.0 4.77 L500.0 4.99 L495.0 5.10 L490.0 4.96 L485.0 4.65 L480.0 4.20 L475.0 4.11 L470.0 4.12 L465.0 4.43 L460.0 4.44 L455.0 4.44 L450.0 4.21 L445.0 4.22 L440.0 4.31 L435.0 4.51 L430.0 4.63 L425.0 4.56 L420.0 4.61 L415.0 4.66 L410.0 5.03 L405.0 5.15 L400.0 5.21 L395.0 4.81 L390.0 4.51 L385.0 4.26 L380.0 4.34 L375.0 4.49 L370.0 4.53 L365.0 4.45 L360.0 4.19 L355.0 4.19 L350.0 4.18 L345.0 4.42 L340.0 4.37 L335.0 4.40 L330.0 4.30 L325.0 4.53 L320.0 4.83 L315.0 5.15 L310.0 5.23 L305.0 4.96 L300.0 4.70 L295.0 4.44 L290.0 4.57 L285.0 4.61 L280.0 4.74 L275.0 4.50 L270.0 4.36 L265.0 4.19 L260.0 4.27 L255.0 4.34 L250.0 4.30 L245.0 4.20 L240.0 4.06 L235.0 4.29 L230.0 4.56 L225.0 5.03 L220.0 5.07 L215.0 5.03 L210.0 4.70 L205.0 4.62 L200.0 4.65 L195.0 4.81 L190.0 4.86 L185.0 4.68 L180.0 4.53 L175.0 4.34 L170.0 4.45 L165.0 4.38 L160.0 4.38 L155.0 4.06 L150.0 3.97 L145.0 3.99 L140.0 4.36 L135.0 4.74 L130.0 4.92 L125.0 4.89 L120.0 4.64 L115.0 4.64 L110.0 4.66 L105.0 4.93 L100.0 4.90 L95.0 4.88 L90.0 4.63 L85.0 4.61 L80.0 4.61 L75.0 4.64 L70.0 4.50 L65.0 4.15 L60.0 3.95 L55.0 3.85 L50.0 4.21 L45.0 4.47 L40.0 4.76 L35.0 4.63 L30.0 4.56 L25.0 4.47 L20.0 4.64 L15.0 4.84 L10.0 4.92 L5.0 4.90 L0.0 4.72Z' fill='%2317204B'/%3E%3C/svg%3E") 0 center/600px 8px repeat-x;}
.sw-block{
  position:relative; padding:26px 0;
  opacity:0.55; transition:opacity 0.4s ease;
}
.sw-block::after{content:""; position:absolute; left:0; right:0; bottom:-4px; height:8px; background-position:0 center; background-size:600px 8px; background-repeat:repeat-x; pointer-events:none;}
.sw-block:nth-child(1)::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 600 8' width='600' height='8'%3E%3Cpath d='M0.0 3.65 L5.0 3.77 L10.0 3.73 L15.0 3.46 L20.0 3.11 L25.0 3.17 L30.0 3.22 L35.0 3.33 L40.0 3.15 L45.0 3.04 L50.0 3.27 L55.0 3.59 L60.0 4.01 L65.0 3.94 L70.0 3.86 L75.0 3.80 L80.0 3.89 L85.0 3.97 L90.0 3.61 L95.0 3.28 L100.0 2.94 L105.0 3.05 L110.0 3.22 L115.0 3.23 L120.0 3.20 L125.0 3.12 L130.0 3.48 L135.0 3.77 L140.0 3.94 L145.0 3.80 L150.0 3.56 L155.0 3.66 L160.0 3.73 L165.0 3.86 L170.0 3.58 L175.0 3.34 L180.0 3.32 L185.0 3.44 L190.0 3.63 L195.0 3.38 L200.0 3.19 L205.0 3.05 L210.0 3.23 L215.0 3.48 L220.0 3.42 L225.0 3.40 L230.0 3.34 L235.0 3.71 L240.0 4.00 L245.0 4.08 L250.0 3.93 L255.0 3.62 L260.0 3.67 L265.0 3.61 L270.0 3.55 L275.0 3.17 L280.0 2.83 L285.0 2.90 L290.0 3.08 L295.0 3.43 L300.0 3.39 L305.0 3.42 L310.0 3.56 L315.0 3.86 L320.0 4.15 L325.0 3.96 L330.0 3.75 L335.0 3.48 L340.0 3.56 L345.0 3.64 L350.0 3.47 L355.0 3.28 L360.0 3.03 L365.0 3.25 L370.0 3.43 L375.0 3.52 L380.0 3.37 L385.0 3.16 L390.0 3.36 L395.0 3.53 L400.0 3.77 L405.0 3.63 L410.0 3.52 L415.0 3.65 L420.0 3.84 L425.0 4.07 L430.0 3.81 L435.0 3.55 L440.0 3.32 L445.0 3.33 L450.0 3.40 L455.0 3.15 L460.0 2.98 L465.0 2.83 L470.0 3.16 L475.0 3.53 L480.0 3.71 L485.0 3.75 L490.0 3.66 L495.0 3.94 L500.0 4.06 L505.0 4.08 L510.0 3.73 L515.0 3.33 L520.0 3.28 L525.0 3.28 L530.0 3.40 L535.0 3.16 L540.0 3.03 L545.0 3.11 L550.0 3.37 L555.0 3.70 L560.0 3.59 L565.0 3.51 L570.0 3.42 L575.0 3.65 L580.0 3.87 L585.0 3.78 L590.0 3.66 L595.0 3.44 L600.0 3.65 L600.0 4.65 L595.0 4.44 L590.0 4.66 L585.0 4.78 L580.0 4.87 L575.0 4.65 L570.0 4.42 L565.0 4.51 L560.0 4.59 L555.0 4.70 L550.0 4.37 L545.0 4.11 L540.0 4.03 L535.0 4.16 L530.0 4.40 L525.0 4.28 L520.0 4.28 L515.0 4.33 L510.0 4.73 L505.0 5.08 L500.0 5.06 L495.0 4.94 L490.0 4.66 L485.0 4.75 L480.0 4.71 L475.0 4.53 L470.0 4.16 L465.0 3.83 L460.0 3.98 L455.0 4.15 L450.0 4.40 L445.0 4.33 L440.0 4.32 L435.0 4.55 L430.0 4.81 L425.0 5.07 L420.0 4.84 L415.0 4.65 L410.0 4.52 L405.0 4.63 L400.0 4.77 L395.0 4.53 L390.0 4.36 L385.0 4.16 L380.0 4.37 L375.0 4.52 L370.0 4.43 L365.0 4.25 L360.0 4.03 L355.0 4.28 L350.0 4.47 L345.0 4.64 L340.0 4.56 L335.0 4.48 L330.0 4.75 L325.0 4.96 L320.0 5.15 L315.0 4.86 L310.0 4.56 L305.0 4.42 L300.0 4.39 L295.0 4.43 L290.0 4.08 L285.0 3.90 L280.0 3.83 L275.0 4.17 L270.0 4.55 L265.0 4.61 L260.0 4.67 L255.0 4.62 L250.0 4.93 L245.0 5.08 L240.0 5.00 L235.0 4.71 L230.0 4.34 L225.0 4.40 L220.0 4.42 L215.0 4.48 L210.0 4.23 L205.0 4.05 L200.0 4.19 L195.0 4.38 L190.0 4.63 L185.0 4.44 L180.0 4.32 L175.0 4.34 L170.0 4.58 L165.0 4.86 L160.0 4.73 L155.0 4.66 L150.0 4.56 L145.0 4.80 L140.0 4.94 L135.0 4.77 L130.0 4.48 L125.0 4.12 L120.0 4.20 L115.0 4.23 L110.0 4.22 L105.0 4.05 L100.0 3.94 L95.0 4.28 L90.0 4.61 L85.0 4.97 L80.0 4.89 L75.0 4.80 L70.0 4.86 L65.0 4.94 L60.0 5.01 L55.0 4.59 L50.0 4.27 L45.0 4.04 L40.0 4.15 L35.0 4.33 L30.0 4.22 L25.0 4.17 L20.0 4.11 L15.0 4.46 L10.0 4.73 L5.0 4.77 L0.0 4.65Z' fill='%23B4B9CE'/%3E%3C/svg%3E");}
.sw-block:nth-child(2)::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 600 8' width='600' height='8'%3E%3Cpath d='M0.0 3.01 L5.0 2.81 L10.0 3.09 L15.0 3.29 L20.0 3.50 L25.0 3.32 L30.0 3.19 L35.0 3.26 L40.0 3.38 L45.0 3.61 L50.0 3.49 L55.0 3.52 L60.0 3.61 L65.0 3.92 L70.0 4.19 L75.0 4.03 L80.0 3.79 L85.0 3.42 L90.0 3.49 L95.0 3.66 L100.0 3.75 L105.0 3.68 L110.0 3.36 L115.0 3.32 L120.0 3.26 L125.0 3.33 L130.0 3.16 L135.0 2.92 L140.0 2.95 L145.0 3.12 L150.0 3.58 L155.0 3.66 L160.0 3.56 L165.0 3.34 L170.0 3.28 L175.0 3.60 L180.0 3.77 L185.0 3.95 L190.0 3.81 L195.0 3.80 L200.0 3.91 L205.0 3.94 L210.0 3.90 L215.0 3.48 L220.0 3.28 L225.0 3.23 L230.0 3.48 L235.0 3.67 L240.0 3.48 L245.0 3.25 L250.0 2.93 L255.0 3.03 L260.0 3.16 L265.0 3.25 L270.0 3.26 L275.0 3.19 L280.0 3.48 L285.0 3.69 L290.0 3.89 L295.0 3.72 L300.0 3.47 L305.0 3.49 L310.0 3.66 L315.0 4.07 L320.0 4.07 L325.0 3.94 L330.0 3.66 L335.0 3.52 L340.0 3.62 L345.0 3.48 L350.0 3.38 L355.0 3.09 L360.0 3.14 L365.0 3.35 L370.0 3.47 L375.0 3.44 L380.0 3.04 L385.0 2.93 L390.0 2.97 L395.0 3.35 L400.0 3.64 L405.0 3.63 L410.0 3.65 L415.0 3.58 L420.0 3.83 L425.0 3.89 L430.0 3.82 L435.0 3.65 L440.0 3.52 L445.0 3.79 L450.0 3.95 L455.0 4.04 L460.0 3.69 L465.0 3.29 L470.0 3.15 L475.0 3.14 L480.0 3.37 L485.0 3.27 L490.0 3.20 L495.0 3.11 L500.0 3.22 L505.0 3.44 L510.0 3.34 L515.0 3.26 L520.0 3.06 L525.0 3.30 L530.0 3.69 L535.0 3.98 L540.0 4.06 L545.0 3.75 L550.0 3.68 L555.0 3.65 L560.0 3.83 L565.0 3.85 L570.0 3.65 L575.0 3.60 L580.0 3.54 L585.0 3.75 L590.0 3.64 L595.0 3.37 L600.0 3.01 L600.0 4.01 L595.0 4.37 L590.0 4.64 L585.0 4.75 L580.0 4.54 L575.0 4.60 L570.0 4.65 L565.0 4.85 L560.0 4.83 L555.0 4.65 L550.0 4.68 L545.0 4.75 L540.0 5.06 L535.0 4.98 L530.0 4.69 L525.0 4.30 L520.0 4.06 L515.0 4.26 L510.0 4.34 L505.0 4.44 L500.0 4.22 L495.0 4.11 L490.0 4.20 L485.0 4.27 L480.0 4.37 L475.0 4.14 L470.0 4.15 L465.0 4.29 L460.0 4.69 L455.0 5.04 L450.0 4.95 L445.0 4.79 L440.0 4.52 L435.0 4.65 L430.0 4.82 L425.0 4.89 L420.0 4.83 L415.0 4.58 L410.0 4.65 L405.0 4.63 L400.0 4.64 L395.0 4.35 L390.0 3.97 L385.0 3.93 L380.0 4.04 L375.0 4.44 L370.0 4.47 L365.0 4.35 L360.0 4.14 L355.0 4.09 L350.0 4.38 L345.0 4.48 L340.0 4.62 L335.0 4.52 L330.0 4.66 L325.0 4.94 L320.0 5.07 L315.0 5.07 L310.0 4.66 L305.0 4.49 L300.0 4.47 L295.0 4.72 L290.0 4.89 L285.0 4.69 L280.0 4.48 L275.0 4.19 L270.0 4.26 L265.0 4.25 L260.0 4.16 L255.0 4.03 L250.0 3.93 L245.0 4.25 L240.0 4.48 L235.0 4.67 L230.0 4.48 L225.0 4.23 L220.0 4.28 L215.0 4.48 L210.0 4.90 L205.0 4.94 L200.0 4.91 L195.0 4.80 L190.0 4.81 L185.0 4.95 L180.0 4.77 L175.0 4.60 L170.0 4.28 L165.0 4.34 L160.0 4.56 L155.0 4.66 L150.0 4.58 L145.0 4.12 L140.0 3.95 L135.0 3.92 L130.0 4.16 L125.0 4.33 L120.0 4.26 L115.0 4.32 L110.0 4.36 L105.0 4.68 L100.0 4.75 L95.0 4.66 L90.0 4.49 L85.0 4.42 L80.0 4.79 L75.0 5.03 L70.0 5.19 L65.0 4.92 L60.0 4.61 L55.0 4.52 L50.0 4.49 L45.0 4.61 L40.0 4.38 L35.0 4.26 L30.0 4.19 L25.0 4.32 L20.0 4.50 L15.0 4.29 L10.0 4.09 L5.0 3.81 L0.0 4.01Z' fill='%23B4B9CE'/%3E%3C/svg%3E");}
.sw-block:nth-child(3)::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 600 8' width='600' height='8'%3E%3Cpath d='M0.0 3.81 L5.0 3.67 L10.0 3.41 L15.0 3.21 L20.0 2.97 L25.0 3.08 L30.0 3.35 L35.0 3.46 L40.0 3.54 L45.0 3.36 L50.0 3.15 L55.0 3.30 L60.0 3.53 L65.0 3.90 L70.0 4.19 L75.0 4.04 L80.0 3.82 L85.0 3.57 L90.0 3.35 L95.0 3.43 L100.0 3.40 L105.0 3.28 L110.0 3.24 L115.0 3.08 L120.0 3.17 L125.0 3.40 L130.0 3.45 L135.0 3.54 L140.0 3.46 L145.0 3.37 L150.0 3.62 L155.0 3.87 L160.0 4.10 L165.0 4.18 L170.0 3.81 L175.0 3.43 L180.0 3.18 L185.0 3.06 L190.0 3.30 L195.0 3.44 L200.0 3.38 L205.0 3.32 L210.0 3.13 L215.0 3.15 L220.0 3.41 L225.0 3.55 L230.0 3.73 L235.0 3.78 L240.0 3.69 L245.0 3.84 L250.0 3.92 L255.0 3.90 L260.0 3.82 L265.0 3.40 L270.0 3.09 L275.0 3.03 L280.0 3.07 L285.0 3.40 L290.0 3.55 L295.0 3.41 L300.0 3.30 L305.0 3.13 L310.0 3.22 L315.0 3.62 L320.0 3.86 L325.0 4.05 L330.0 4.02 L335.0 3.74 L340.0 3.67 L345.0 3.59 L350.0 3.50 L355.0 3.48 L360.0 3.22 L365.0 3.05 L370.0 3.12 L375.0 3.20 L380.0 3.46 L385.0 3.56 L390.0 3.39 L395.0 3.34 L400.0 3.31 L405.0 3.51 L410.0 3.96 L415.0 4.14 L420.0 4.12 L425.0 3.88 L430.0 3.42 L435.0 3.26 L440.0 3.26 L445.0 3.29 L450.0 3.43 L455.0 3.30 L460.0 3.15 L465.0 3.20 L470.0 3.22 L475.0 3.44 L480.0 3.61 L485.0 3.54 L490.0 3.60 L495.0 3.66 L500.0 3.80 L505.0 4.09 L510.0 4.05 L515.0 3.80 L520.0 3.47 L525.0 3.05 L530.0 3.03 L535.0 3.22 L540.0 3.37 L545.0 3.53 L550.0 3.38 L555.0 3.15 L560.0 3.18 L565.0 3.26 L570.0 3.57 L575.0 3.88 L580.0 3.87 L585.0 3.88 L590.0 3.81 L595.0 3.73 L600.0 3.81 L600.0 4.81 L595.0 4.73 L590.0 4.81 L585.0 4.88 L580.0 4.87 L575.0 4.88 L570.0 4.57 L565.0 4.26 L560.0 4.18 L555.0 4.15 L550.0 4.38 L545.0 4.53 L540.0 4.37 L535.0 4.22 L530.0 4.03 L525.0 4.05 L520.0 4.47 L515.0 4.80 L510.0 5.05 L505.0 5.09 L500.0 4.80 L495.0 4.66 L490.0 4.60 L485.0 4.54 L480.0 4.61 L475.0 4.44 L470.0 4.22 L465.0 4.20 L460.0 4.15 L455.0 4.30 L450.0 4.43 L445.0 4.29 L440.0 4.26 L435.0 4.26 L430.0 4.42 L425.0 4.88 L420.0 5.12 L415.0 5.14 L410.0 4.96 L405.0 4.51 L400.0 4.31 L395.0 4.34 L390.0 4.39 L385.0 4.56 L380.0 4.46 L375.0 4.20 L370.0 4.12 L365.0 4.05 L360.0 4.22 L355.0 4.48 L350.0 4.50 L345.0 4.59 L340.0 4.67 L335.0 4.74 L330.0 5.02 L325.0 5.05 L320.0 4.86 L315.0 4.62 L310.0 4.22 L305.0 4.13 L300.0 4.30 L295.0 4.41 L290.0 4.55 L285.0 4.40 L280.0 4.07 L275.0 4.03 L270.0 4.09 L265.0 4.40 L260.0 4.82 L255.0 4.90 L250.0 4.92 L245.0 4.84 L240.0 4.69 L235.0 4.78 L230.0 4.73 L225.0 4.55 L220.0 4.41 L215.0 4.15 L210.0 4.13 L205.0 4.32 L200.0 4.38 L195.0 4.44 L190.0 4.30 L185.0 4.06 L180.0 4.18 L175.0 4.43 L170.0 4.81 L165.0 5.18 L160.0 5.10 L155.0 4.87 L150.0 4.62 L145.0 4.37 L140.0 4.46 L135.0 4.54 L130.0 4.45 L125.0 4.40 L120.0 4.17 L115.0 4.08 L110.0 4.24 L105.0 4.28 L100.0 4.40 L95.0 4.43 L90.0 4.35 L85.0 4.57 L80.0 4.82 L75.0 5.04 L70.0 5.19 L65.0 4.90 L60.0 4.53 L55.0 4.30 L50.0 4.15 L45.0 4.36 L40.0 4.54 L35.0 4.46 L30.0 4.35 L25.0 4.08 L20.0 3.97 L15.0 4.21 L10.0 4.41 L5.0 4.67 L0.0 4.81Z' fill='%23B4B9CE'/%3E%3C/svg%3E");}
.sw-block:nth-child(4)::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 600 8' width='600' height='8'%3E%3Cpath d='M0.0 3.74 L5.0 3.57 L10.0 3.39 L15.0 3.37 L20.0 3.41 L25.0 3.13 L30.0 2.97 L35.0 2.89 L40.0 3.14 L45.0 3.58 L50.0 3.66 L55.0 3.62 L60.0 3.38 L65.0 3.37 L70.0 3.68 L75.0 3.83 L80.0 3.97 L85.0 3.82 L90.0 3.73 L95.0 3.85 L100.0 3.80 L105.0 3.70 L110.0 3.28 L115.0 2.97 L120.0 3.06 L125.0 3.23 L130.0 3.52 L135.0 3.42 L140.0 3.17 L145.0 3.13 L150.0 3.17 L155.0 3.50 L160.0 3.60 L165.0 3.58 L170.0 3.68 L175.0 3.78 L180.0 4.10 L185.0 4.10 L190.0 3.81 L195.0 3.51 L200.0 3.24 L205.0 3.45 L210.0 3.61 L215.0 3.59 L220.0 3.41 L225.0 3.07 L230.0 3.10 L235.0 3.17 L240.0 3.22 L245.0 3.24 L250.0 3.11 L255.0 3.37 L260.0 3.70 L265.0 3.98 L270.0 4.03 L275.0 3.67 L280.0 3.55 L285.0 3.57 L290.0 3.78 L295.0 3.97 L300.0 3.74 L305.0 3.57 L310.0 3.39 L315.0 3.37 L320.0 3.41 L325.0 3.13 L330.0 2.97 L335.0 2.89 L340.0 3.14 L345.0 3.58 L350.0 3.66 L355.0 3.62 L360.0 3.38 L365.0 3.37 L370.0 3.68 L375.0 3.83 L380.0 3.97 L385.0 3.82 L390.0 3.73 L395.0 3.85 L400.0 3.80 L405.0 3.70 L410.0 3.28 L415.0 2.97 L420.0 3.06 L425.0 3.23 L430.0 3.52 L435.0 3.42 L440.0 3.17 L445.0 3.13 L450.0 3.17 L455.0 3.50 L460.0 3.60 L465.0 3.58 L470.0 3.68 L475.0 3.78 L480.0 4.10 L485.0 4.10 L490.0 3.81 L495.0 3.51 L500.0 3.24 L505.0 3.45 L510.0 3.61 L515.0 3.59 L520.0 3.41 L525.0 3.07 L530.0 3.10 L535.0 3.17 L540.0 3.22 L545.0 3.24 L550.0 3.11 L555.0 3.37 L560.0 3.70 L565.0 3.98 L570.0 4.03 L575.0 3.67 L580.0 3.55 L585.0 3.57 L590.0 3.78 L595.0 3.97 L600.0 3.74 L600.0 4.74 L595.0 4.97 L590.0 4.78 L585.0 4.57 L580.0 4.55 L575.0 4.67 L570.0 5.03 L565.0 4.98 L560.0 4.70 L555.0 4.37 L550.0 4.11 L545.0 4.24 L540.0 4.22 L535.0 4.17 L530.0 4.10 L525.0 4.07 L520.0 4.41 L515.0 4.59 L510.0 4.61 L505.0 4.45 L500.0 4.24 L495.0 4.51 L490.0 4.81 L485.0 5.10 L480.0 5.10 L475.0 4.78 L470.0 4.68 L465.0 4.58 L460.0 4.60 L455.0 4.50 L450.0 4.17 L445.0 4.13 L440.0 4.17 L435.0 4.42 L430.0 4.52 L425.0 4.23 L420.0 4.06 L415.0 3.97 L410.0 4.28 L405.0 4.70 L400.0 4.80 L395.0 4.85 L390.0 4.73 L385.0 4.82 L380.0 4.97 L375.0 4.83 L370.0 4.68 L365.0 4.37 L360.0 4.38 L355.0 4.62 L350.0 4.66 L345.0 4.58 L340.0 4.14 L335.0 3.89 L330.0 3.97 L325.0 4.13 L320.0 4.41 L315.0 4.37 L310.0 4.39 L305.0 4.57 L300.0 4.74 L295.0 4.97 L290.0 4.78 L285.0 4.57 L280.0 4.55 L275.0 4.67 L270.0 5.03 L265.0 4.98 L260.0 4.70 L255.0 4.37 L250.0 4.11 L245.0 4.24 L240.0 4.22 L235.0 4.17 L230.0 4.10 L225.0 4.07 L220.0 4.41 L215.0 4.59 L210.0 4.61 L205.0 4.45 L200.0 4.24 L195.0 4.51 L190.0 4.81 L185.0 5.10 L180.0 5.10 L175.0 4.78 L170.0 4.68 L165.0 4.58 L160.0 4.60 L155.0 4.50 L150.0 4.17 L145.0 4.13 L140.0 4.17 L135.0 4.42 L130.0 4.52 L125.0 4.23 L120.0 4.06 L115.0 3.97 L110.0 4.28 L105.0 4.70 L100.0 4.80 L95.0 4.85 L90.0 4.73 L85.0 4.82 L80.0 4.97 L75.0 4.83 L70.0 4.68 L65.0 4.37 L60.0 4.38 L55.0 4.62 L50.0 4.66 L45.0 4.58 L40.0 4.14 L35.0 3.89 L30.0 3.97 L25.0 4.13 L20.0 4.41 L15.0 4.37 L10.0 4.39 L5.0 4.57 L0.0 4.74Z' fill='%23B4B9CE'/%3E%3C/svg%3E");}
.sw-block.active{opacity:1;}
.sw-image{
  height:340px; border-radius:6px; margin-bottom:18px;
  overflow:hidden; position:relative; display:block; box-sizing:border-box; padding:26px;
}
.sw-image.fill-cover{padding:0;}
.sw-image.tight{padding:22px;}
.sw-image img{width:100%; height:100%; object-fit:contain; object-position:center; display:block;}
.sw-image.fill-cover img{object-fit:cover;}
.sw-image img{transition:transform 0.4s ease;}
a.sw-image:hover img{transform:scale(1.02);}
.sw-title{font-size:15px; color:var(--ink); transition:font-size 0.4s ease;}
.sw-block.active .sw-title{font-size:20px;}
.sw-meta{display:flex; justify-content:space-between; align-items:baseline; margin-bottom:8px;}
.sw-date{font-size:11px; color:var(--ink-faint);}
.sw-context{font-size:12px; color:var(--ink-faint); font-style:italic; margin-bottom:8px;}
.sw-tags{display:flex; gap:6px; margin-top:6px; flex-wrap:wrap;}
.sw-tags span{
  font-size:10.5px; color:var(--ink-soft); border:1px solid var(--border-soft);
  border-radius:100px; padding:2px 9px;
}
.sw-tools{font-size:10.5px; color:var(--ink-faint); margin-top:6px;}
.sw-expand{max-height:0; opacity:0; overflow:hidden; transition:max-height 0.4s ease, opacity 0.3s ease;}
.sw-block.active .sw-expand{max-height:40px; opacity:1; margin-top:12px;}
.sw-stats{display:flex; gap:24px;}
.sw-stats .num{font-family:'Sorts Mill Goudy', serif; font-size:18px; color:var(--ink);}
.sw-stats .label{font-size:10px; color:var(--ink-faint);}
.sw-link{display:inline-block; font-size:12px; color:var(--ink); border-bottom:1px solid var(--ink); padding-bottom:1px;}

/* play */
#play{padding:50px 32px 60px; max-width:900px; margin:0 auto; border-top:0.5px solid var(--border); margin-top:20px;}
.play-grid{display:grid; grid-template-columns:repeat(6,1fr); gap:20px; padding-bottom:20px;}
.play-tile{position:relative; z-index:1;}
.play-tile:hover, .play-tile.expanded{z-index:5;}
.play-inner{
  border-radius:5px; aspect-ratio:1; transition:transform 0.25s ease;
  transform-origin:center; background-size:cover; background-position:center;
}
.play-caption{
  position:absolute; top:100%; left:50%; transform:translateX(-50%); width:150px;
  text-align:center; font-size:10.5px; color:var(--ink); background:var(--paper-alt);
  border-radius:4px; padding:4px 6px; margin-top:4px; opacity:0; pointer-events:none;
  transition:opacity 0.2s ease 0.15s; box-shadow:0 1px 3px rgba(0,0,0,0.08);
}

/* Desktop: real mouse/trackpad only. Untouched from before. */
@media (hover: hover) and (pointer: fine){
  .play-tile:hover .play-inner{transform:scale(2.3);}
  .play-tile:hover .play-caption{opacity:1;}
}

/* Touch/coarse pointer: tap-to-expand instead, driven by JS toggling .expanded */
.play-tile.expanded .play-inner{transform:scale(1.7);}
.play-tile.expanded .play-caption{opacity:1;}

/* footer */
footer{
  border-top:0.5px solid var(--border); margin-top:40px; padding:28px 32px;
  display:flex; flex-direction:column; align-items:center; gap:8px;
}
footer .brand{font-family:'Sorts Mill Goudy', serif; font-style:italic; font-size:16px; color:var(--accent);}
footer .links{display:flex; gap:16px; font-size:12px; color:var(--ink-soft);}

/* info page */
.info-page{padding:20px 32px 120px; max-width:900px; margin:0 auto;}
.info-hero{display:grid; grid-template-columns:minmax(0,1fr) 240px; gap:64px; align-items:start;}
.info-page .info-hero h1{font-size:clamp(28px,4vw,35px); line-height:1.18; letter-spacing:-0.005em; font-weight:400; max-width:none; margin:0 0 24px;}
.info-page .info-hero .meta-line{max-width:46ch; margin:0 0 22px;}
.info-page .info-hero .bio{max-width:52ch; margin:0;}
.info-page .info-hero .photo-slot{margin:6px 0 0;}
@media (max-width:640px){.info-page{padding:16px 22px 72px;} .info-hero{grid-template-columns:minmax(0,1fr); gap:32px;}}
.photo-slot{
  width:240px; height:240px; border-radius:6px; overflow:hidden;
  margin-bottom:26px; flex-shrink:0;
}
.photo-slot img{width:100%; height:100%; object-fit:cover; object-position:center; display:block;}
.info-page h1{font-family:'Sorts Mill Goudy', serif; font-size:26px; color:var(--ink); max-width:18ch; margin-bottom:16px;}
.info-page .meta-line{font-size:14px; font-style:italic; color:var(--ink-faint); max-width:52ch; margin-bottom:20px;}
.info-page .bio{color:var(--ink-soft); max-width:56ch; margin-bottom:44px;}
.info-page h2{font-family:'Inter', sans-serif; font-weight:500; font-size:16px; color:var(--ink); margin-bottom:20px;}


/* responsive */
@media (max-width:640px){
  .hero-illustration{position:relative; top:auto; right:auto; width:191px; height:153px; margin-top:24px;}
  .hero-illustration img.topo{width:130px;}
  .hero-illustration img.dot{width:29px; left:40px; top:96px;}
  .hero-illustration .coords{left:40px; top:127px; font-size:9px;}
  .play-grid{grid-template-columns:repeat(3,1fr); gap:14px;}
  .sw-meta{flex-direction:column; align-items:flex-start; gap:4px;}
  .sw-image{height:230px; padding:16px;}
  .sw-image.fill-cover{padding:0;}
  .sw-image.tight{padding:12px;}
  .case-visual{height:220px;}
  .trail{flex-direction:column; gap:22px;}
  .trail::before{display:none;}
}

/* case study pages */
.case-page{padding:20px 32px 60px; max-width:760px; margin:0 auto;}
.case-back{font-size:12px; color:var(--ink-faint); margin-bottom:28px; display:inline-block;}
.case-meta{display:flex; gap:24px; flex-wrap:wrap; margin-bottom:22px; font-size:12.5px; color:var(--ink-faint);}
.case-meta strong{color:var(--ink); font-weight:500;}
.case-title{font-family:'Sorts Mill Goudy', serif; font-size:clamp(24px,3.4vw,32px); color:var(--ink); max-width:20ch; margin-bottom:14px;}
.case-dek{font-size:15px; color:var(--ink-soft); max-width:56ch; margin-bottom:40px;}
.case-visual{
  height:420px; border-radius:8px; overflow:hidden; box-sizing:border-box;
  display:flex; align-items:center; justify-content:center; padding:26px; margin-bottom:40px;
}
.case-visual img{max-width:100%; max-height:100%; width:auto; height:auto; object-fit:contain; display:block;}
.case-visual.fill-cover{padding:0;}
.case-visual.fill-cover img{width:100%; height:100%; max-width:none; max-height:none; object-fit:cover; object-position:center;}

.trail{display:flex; position:relative; margin-bottom:40px; padding-top:6px; gap:20px; flex-wrap:wrap;}
.trail::before{content:""; position:absolute; top:11px; left:0; right:0; height:1px; background:var(--border);}
.waypoint{flex:1; min-width:150px; position:relative;}
.waypoint .dot{width:9px; height:9px; border-radius:50%; background:var(--paper); border:1.5px solid var(--accent); margin-bottom:12px;}
.waypoint .label{font-size:13px; color:var(--ink); margin-bottom:5px;}
.waypoint .desc{font-size:12.5px; color:var(--ink-soft); line-height:1.5;}

.case-note{font-size:12.5px; color:var(--ink-faint); border-top:0.5px solid var(--border); padding-top:16px; margin-top:8px;}

.case-body{font-size:15px; line-height:1.75; color:var(--ink-soft); max-width:62ch; margin:0 0 22px;}
.case-body strong{color:var(--ink); font-weight:500;}
.case-body blockquote{
  margin:22px 0; padding-left:18px; border-left:2px solid var(--accent);
  font-size:15px; font-style:italic; color:var(--ink);
}
.case-inline-image{margin:32px 0; border-radius:6px; overflow:hidden; border:0.5px solid var(--border);}
.case-inline-image img{width:100%; display:block;}
.case-inline-image.decisions{max-width:85%; margin-left:auto; margin-right:auto;}
.case-inline-caption{font-size:12px; color:var(--ink-faint); margin-top:8px; margin-bottom:32px;}

.section-label-quiet{font-size:11px; color:var(--ink-faint); letter-spacing:0.03em; margin-bottom:16px;}
.goals-grid{display:grid; grid-template-columns:1fr 1fr; gap:22px; margin-bottom:36px;}
.goal{display:flex; gap:12px;}
.goal-num{font-family:'JetBrains Mono', monospace; font-size:11px; color:var(--accent); flex-shrink:0; padding-top:2px;}
.goal strong{display:block; font-size:14px; color:var(--ink); margin-bottom:3px; font-weight:500;}
.goal span{font-size:13px; color:var(--ink-soft); line-height:1.5;}

.outcome-bars{margin:24px 0 32px;}
.outcome-bar-group{margin-bottom:18px;}
.outcome-bar-group .glabel{font-size:12.5px; color:var(--ink); margin-bottom:8px;}
.outcome-bar-row{display:flex; align-items:center; gap:10px; margin-bottom:6px;}
.outcome-bar-row .tag{font-size:10.5px; color:var(--ink-faint); width:30px; flex-shrink:0;}
.outcome-bar-row .tag-val{font-size:11px; color:var(--ink-soft); width:46px; flex-shrink:0; text-align:right;}
.outcome-bar-track{flex:1; height:7px; background:var(--border); border-radius:4px; overflow:hidden;}
.outcome-bar-fill{height:100%;}
.outcome-bar-fill.old{background:#C3C8D8;}
.outcome-bar-fill.new{background:var(--accent);}

.quiet-list{margin:0 0 24px; padding-left:20px; font-size:15px; line-height:1.75; color:var(--ink-soft);}
.quiet-list li{margin-bottom:8px;}

.proto-panel{
  background:var(--paper-alt); border:0.5px solid var(--border); border-radius:12px;
  padding:16px 0; margin:28px 0 44px;
}
.proto-embed-bar{display:flex; justify-content:space-between; align-items:center; margin-bottom:14px; padding:0 16px; font-size:12px;}
.proto-embed-bar span{color:var(--ink); font-weight:500;}
.proto-embed-bar a{color:var(--accent);}
.proto-frame{border:0.5px solid var(--border); border-radius:14px; overflow:hidden; background:var(--paper);}
.proto-frame iframe{width:100%; height:700px; border:none; display:block;}

.proto-frame.article{max-width:100%;}
.proto-frame.article iframe{height:900px;}
.proto-embed-bar.article{max-width:100%;}

.update-bar{
  border-left:2px solid var(--accent); background:var(--paper-alt);
  padding:14px 18px; margin:26px 0 30px; border-radius:0 6px 6px 0;
}
.update-tag{
  display:inline-block; font-size:10.5px; letter-spacing:0.04em; text-transform:uppercase;
  color:var(--accent); font-weight:500; margin-bottom:6px;
}
.update-bar p{font-size:13.5px; line-height:1.65; color:var(--ink-soft); margin:0;}
.update-bar a{color:var(--accent);}

.article-card{
  display:block; border:0.5px solid var(--border); border-radius:10px; padding:22px;
  margin:20px 0 32px; text-decoration:none; transition:border-color 0.2s ease, background 0.2s ease;
}
.article-card:hover{border-color:var(--ink); background:var(--paper-alt);}
.article-card .k{font-size:11px; color:var(--ink-faint); letter-spacing:0.03em; margin-bottom:8px;}
.article-card .article-title{font-family:'Sorts Mill Goudy', serif; font-size:19px; color:var(--ink); margin-bottom:8px;}
.article-card .article-desc{font-size:13.5px; color:var(--ink-soft); line-height:1.6; margin-bottom:14px; max-width:56ch;}
.article-card .cta{font-size:12.5px; color:var(--ink); font-weight:500; border-bottom:1px solid var(--ink); padding-bottom:2px; display:inline-block;}

@media (max-width:640px){
  .proto-panel{padding:16px;}
  .proto-frame iframe{height:560px;}
  .proto-frame.article iframe{height:600px;}
}

.case-visual-lead{margin-bottom:0; border-radius:8px 8px 0 0; height:420px;}
.case-meta-bar{display:flex; border:0.5px solid var(--border); border-top:none; border-radius:0 0 8px 8px; margin-bottom:40px; flex-wrap:wrap;}
.case-meta-bar > div{flex:1; min-width:140px; padding:16px 22px; border-right:0.5px solid var(--border);}
.case-meta-bar > div:last-child{border-right:none;}
.case-meta-bar .k{font-size:11px; color:var(--ink-faint); letter-spacing:0.03em; margin-bottom:4px;}
.case-meta-bar .v{font-size:13.5px; color:var(--ink);}

.case-title-row{display:flex; align-items:flex-end; gap:24px; margin-bottom:28px;}
.case-title-row h1{
  font-family:'Sorts Mill Goudy', serif; font-size:clamp(24px,3.2vw,32px); line-height:1.25; color:var(--ink);
  max-width:none; margin:0;
}
.case-title-row .rule{flex:1; height:1px; background:var(--border); min-width:40px; margin-bottom:8px;}

@media (max-width:640px){
  nav{padding:20px 22px;}
  footer{padding:24px 22px;}
  .case-page{padding:16px 22px 48px;}
  .case-visual-lead{height:220px;}
  .case-meta-bar > div{flex:1 1 100%; border-right:none; border-bottom:0.5px solid var(--border); padding:12px 4px;}
  .case-meta-bar > div:last-child{border-bottom:none;}
  .case-title-row{flex-direction:column; align-items:flex-start; gap:12px;}
  .case-title-row h1{white-space:normal;}
  .case-title-row .rule{width:100%; flex:none;}
  .goals-grid{grid-template-columns:1fr;}
  .case-inline-image.decisions{max-width:100%;}
  .case-visual{padding:16px;}
  .sw-stats{flex-wrap:wrap; gap:12px 20px;}
  .outcome-bar-row .tag-val{width:auto; font-variant-numeric:tabular-nums;}
}

/* ---- project feature pages: video, title, statement, link ---- */
.case-hero-video{border-radius:8px; overflow:hidden; border:0.5px solid var(--border); margin-bottom:40px;}
.case-hero-video video{display:block; width:100%; height:auto;}
.case-link-row{margin:4px 0 0;}
.case-link{display:inline-block; font-size:13px; color:var(--ink); border-bottom:1px solid var(--ink); padding-bottom:2px;}
/* lets <picture> wrappers sit transparently inside the existing card image box */
.sw-image picture{display:contents;}
/* hand-drawn divider for the fifth project card */
.sw-block:nth-child(5)::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 600 8' width='600' height='8'%3E%3Cpath d='M0.0 3.36 L5.0 3.29 L10.0 3.26 L15.0 3.26 L20.0 3.07 L25.0 3.00 L30.0 3.31 L35.0 3.63 L40.0 3.81 L45.0 3.85 L50.0 3.61 L55.0 3.45 L60.0 3.64 L65.0 3.79 L70.0 3.79 L75.0 3.69 L80.0 3.39 L85.0 3.21 L90.0 3.35 L95.0 3.38 L100.0 3.25 L105.0 3.16 L110.0 3.04 L115.0 3.21 L120.0 3.71 L125.0 4.02 L130.0 4.05 L135.0 3.96 L140.0 3.71 L145.0 3.57 L150.0 3.64 L155.0 3.47 L160.0 3.15 L165.0 2.98 L170.0 2.93 L175.0 3.15 L180.0 3.60 L185.0 3.73 L190.0 3.62 L195.0 3.57 L200.0 3.55 L205.0 3.67 L210.0 3.90 L215.0 3.81 L220.0 3.54 L225.0 3.45 L230.0 3.41 L235.0 3.47 L240.0 3.56 L245.0 3.31 L250.0 2.98 L255.0 2.97 L260.0 3.15 L265.0 3.49 L270.0 3.86 L275.0 3.87 L280.0 3.77 L285.0 3.85 L290.0 3.89 L295.0 3.85 L300.0 3.70 L305.0 3.25 L310.0 2.89 L315.0 2.96 L320.0 3.17 L325.0 3.39 L330.0 3.57 L335.0 3.47 L340.0 3.41 L345.0 3.64 L350.0 3.82 L355.0 3.85 L360.0 3.79 L365.0 3.53 L370.0 3.40 L375.0 3.60 L380.0 3.69 L385.0 3.58 L390.0 3.37 L395.0 3.03 L400.0 2.92 L405.0 3.19 L410.0 3.41 L415.0 3.51 L420.0 3.61 L425.0 3.63 L430.0 3.79 L435.0 4.12 L440.0 4.11 L445.0 3.78 L450.0 3.42 L455.0 3.07 L460.0 3.00 L465.0 3.24 L470.0 3.31 L475.0 3.24 L480.0 3.29 L485.0 3.36 L490.0 3.59 L495.0 3.92 L500.0 3.88 L505.0 3.63 L510.0 3.53 L515.0 3.51 L520.0 3.64 L525.0 3.84 L530.0 3.67 L535.0 3.32 L540.0 3.16 L545.0 3.10 L550.0 3.19 L555.0 3.37 L560.0 3.30 L565.0 3.23 L570.0 3.47 L575.0 3.78 L580.0 4.07 L585.0 4.22 L590.0 3.92 L595.0 3.50 L600.0 3.36 L600.0 4.36 L595.0 4.50 L590.0 4.92 L585.0 5.22 L580.0 5.07 L575.0 4.78 L570.0 4.47 L565.0 4.23 L560.0 4.30 L555.0 4.37 L550.0 4.19 L545.0 4.10 L540.0 4.16 L535.0 4.32 L530.0 4.67 L525.0 4.84 L520.0 4.64 L515.0 4.51 L510.0 4.53 L505.0 4.63 L500.0 4.88 L495.0 4.92 L490.0 4.59 L485.0 4.36 L480.0 4.29 L475.0 4.24 L470.0 4.31 L465.0 4.24 L460.0 4.00 L455.0 4.07 L450.0 4.42 L445.0 4.78 L440.0 5.11 L435.0 5.12 L430.0 4.79 L425.0 4.63 L420.0 4.61 L415.0 4.51 L410.0 4.41 L405.0 4.19 L400.0 3.92 L395.0 4.03 L390.0 4.37 L385.0 4.58 L380.0 4.69 L375.0 4.60 L370.0 4.40 L365.0 4.53 L360.0 4.79 L355.0 4.85 L350.0 4.82 L345.0 4.64 L340.0 4.41 L335.0 4.47 L330.0 4.57 L325.0 4.39 L320.0 4.17 L315.0 3.96 L310.0 3.89 L305.0 4.25 L300.0 4.70 L295.0 4.85 L290.0 4.89 L285.0 4.85 L280.0 4.77 L275.0 4.87 L270.0 4.86 L265.0 4.49 L260.0 4.15 L255.0 3.97 L250.0 3.98 L245.0 4.31 L240.0 4.56 L235.0 4.47 L230.0 4.41 L225.0 4.45 L220.0 4.54 L215.0 4.81 L210.0 4.90 L205.0 4.67 L200.0 4.55 L195.0 4.57 L190.0 4.62 L185.0 4.73 L180.0 4.60 L175.0 4.15 L170.0 3.93 L165.0 3.98 L160.0 4.15 L155.0 4.47 L150.0 4.64 L145.0 4.57 L140.0 4.71 L135.0 4.96 L130.0 5.05 L125.0 5.02 L120.0 4.71 L115.0 4.21 L110.0 4.04 L105.0 4.16 L100.0 4.25 L95.0 4.38 L90.0 4.35 L85.0 4.21 L80.0 4.39 L75.0 4.69 L70.0 4.79 L65.0 4.79 L60.0 4.64 L55.0 4.45 L50.0 4.61 L45.0 4.85 L40.0 4.81 L35.0 4.63 L30.0 4.31 L25.0 4.00 L20.0 4.07 L15.0 4.26 L10.0 4.26 L5.0 4.29 L0.0 4.36Z' fill='%23B4B9CE'/%3E%3C/svg%3E");}
@media (max-width:640px){
  .case-hero-video{margin-bottom:32px;}
}


/* ---- list / grid toggle: two small hand-drawn icons ---- */
.work-tabs{display:flex; gap:20px;}
.work-tabs button{background:none; border:0; padding:10px 0; margin:0; cursor:pointer; font-family:'Inter', sans-serif; font-size:13px; color:#5E668C; border-bottom:1px solid transparent;}
.work-tabs button:hover{color:var(--ink);}
.work-tabs button[aria-selected="true"]{color:var(--ink); border-bottom-color:var(--ink);}
.work-tabs button:focus-visible{outline:1.5px solid var(--ink); outline-offset:2px;}
/* product design list: static and crisp, matching the visual grid */
#panel-product .sw-block{opacity:0.7; transition:opacity 0.5s ease;}
#panel-product .sw-block.active{opacity:1;}
@media (prefers-reduced-motion:reduce){#panel-product .sw-block{transition:none;}}
#panel-product .sw-image{border-radius:0;}
#panel-product a.sw-image:hover img{transform:none;}
#panel-product .sw-title{font-size:18px;}
#panel-product .sw-expand{max-height:none; opacity:1; margin-top:12px;}
#panel-visual::before, #panel-visual::after{content:""; display:block; height:8px; margin:-4px 0; background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 600 8' width='600' height='8'%3E%3Cpath d='M0.0 3.62 L5.0 3.80 L10.0 3.82 L15.0 3.74 L20.0 3.54 L25.0 3.37 L30.0 3.46 L35.0 3.53 L40.0 3.66 L45.0 3.37 L50.0 3.11 L55.0 2.75 L60.0 2.85 L65.0 3.05 L70.0 3.40 L75.0 3.54 L80.0 3.51 L85.0 3.51 L90.0 3.53 L95.0 3.78 L100.0 3.80 L105.0 3.83 L110.0 3.56 L115.0 3.54 L120.0 3.54 L125.0 3.79 L130.0 3.82 L135.0 3.64 L140.0 3.26 L145.0 2.89 L150.0 2.87 L155.0 2.96 L160.0 3.28 L165.0 3.28 L170.0 3.35 L175.0 3.24 L180.0 3.43 L185.0 3.58 L190.0 3.76 L195.0 3.71 L200.0 3.55 L205.0 3.52 L210.0 3.60 L215.0 3.93 L220.0 3.97 L225.0 3.93 L230.0 3.46 L235.0 3.19 L240.0 2.96 L245.0 3.10 L250.0 3.20 L255.0 3.24 L260.0 3.17 L265.0 3.09 L270.0 3.26 L275.0 3.40 L280.0 3.64 L285.0 3.51 L290.0 3.47 L295.0 3.34 L300.0 3.60 L305.0 3.86 L310.0 4.13 L315.0 4.05 L320.0 3.73 L325.0 3.43 L330.0 3.20 L335.0 3.30 L340.0 3.27 L345.0 3.32 L350.0 3.08 L355.0 3.09 L360.0 3.09 L365.0 3.35 L370.0 3.43 L375.0 3.39 L380.0 3.24 L385.0 3.16 L390.0 3.41 L395.0 3.71 L400.0 4.11 L405.0 4.05 L410.0 3.93 L415.0 3.56 L420.0 3.51 L425.0 3.46 L430.0 3.53 L435.0 3.41 L440.0 3.21 L445.0 3.12 L450.0 3.11 L455.0 3.34 L460.0 3.34 L465.0 3.33 L470.0 3.02 L475.0 3.01 L480.0 3.10 L485.0 3.55 L490.0 3.86 L495.0 4.00 L500.0 3.89 L505.0 3.67 L510.0 3.66 L515.0 3.64 L520.0 3.76 L525.0 3.54 L530.0 3.43 L535.0 3.19 L540.0 3.30 L545.0 3.37 L550.0 3.46 L555.0 3.28 L560.0 2.98 L565.0 2.84 L570.0 2.89 L575.0 3.31 L580.0 3.58 L585.0 3.84 L590.0 3.69 L595.0 3.69 L600.0 3.62 L600.0 4.72 L595.0 4.79 L590.0 4.79 L585.0 4.94 L580.0 4.68 L575.0 4.41 L570.0 3.99 L565.0 3.94 L560.0 4.08 L555.0 4.38 L550.0 4.56 L545.0 4.47 L540.0 4.40 L535.0 4.29 L530.0 4.53 L525.0 4.64 L520.0 4.86 L515.0 4.74 L510.0 4.76 L505.0 4.77 L500.0 4.99 L495.0 5.10 L490.0 4.96 L485.0 4.65 L480.0 4.20 L475.0 4.11 L470.0 4.12 L465.0 4.43 L460.0 4.44 L455.0 4.44 L450.0 4.21 L445.0 4.22 L440.0 4.31 L435.0 4.51 L430.0 4.63 L425.0 4.56 L420.0 4.61 L415.0 4.66 L410.0 5.03 L405.0 5.15 L400.0 5.21 L395.0 4.81 L390.0 4.51 L385.0 4.26 L380.0 4.34 L375.0 4.49 L370.0 4.53 L365.0 4.45 L360.0 4.19 L355.0 4.19 L350.0 4.18 L345.0 4.42 L340.0 4.37 L335.0 4.40 L330.0 4.30 L325.0 4.53 L320.0 4.83 L315.0 5.15 L310.0 5.23 L305.0 4.96 L300.0 4.70 L295.0 4.44 L290.0 4.57 L285.0 4.61 L280.0 4.74 L275.0 4.50 L270.0 4.36 L265.0 4.19 L260.0 4.27 L255.0 4.34 L250.0 4.30 L245.0 4.20 L240.0 4.06 L235.0 4.29 L230.0 4.56 L225.0 5.03 L220.0 5.07 L215.0 5.03 L210.0 4.70 L205.0 4.62 L200.0 4.65 L195.0 4.81 L190.0 4.86 L185.0 4.68 L180.0 4.53 L175.0 4.34 L170.0 4.45 L165.0 4.38 L160.0 4.38 L155.0 4.06 L150.0 3.97 L145.0 3.99 L140.0 4.36 L135.0 4.74 L130.0 4.92 L125.0 4.89 L120.0 4.64 L115.0 4.64 L110.0 4.66 L105.0 4.93 L100.0 4.90 L95.0 4.88 L90.0 4.63 L85.0 4.61 L80.0 4.61 L75.0 4.64 L70.0 4.50 L65.0 4.15 L60.0 3.95 L55.0 3.85 L50.0 4.21 L45.0 4.47 L40.0 4.76 L35.0 4.63 L30.0 4.56 L25.0 4.47 L20.0 4.64 L15.0 4.84 L10.0 4.92 L5.0 4.90 L0.0 4.72Z' fill='%2317204B'/%3E%3C/svg%3E") 0 center/600px 8px repeat-x;}
.panel-intro{font-size:12px; font-style:italic; color:var(--ink-faint); margin:16px 0 0;}
.vd-grid{display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); column-gap:16px; row-gap:32px; padding:30px 0 26px;}
.vd-item{display:flex; flex-direction:column; min-width:0;}
.vd-image{display:block; aspect-ratio:1 / 1; overflow:hidden; margin-bottom:12px;}
.vd-image img{width:100%; height:100%; object-fit:cover; display:block;}
.vd-image.contain{padding:12px;}
.vd-image.contain picture{display:block; width:100%; height:100%;}
.vd-image.contain img{object-fit:contain;}
.vd-item .sw-title{font-size:14px; margin-bottom:4px;}
.vd-item .sw-tags{flex-wrap:nowrap; gap:5px;}
.vd-item .sw-tags span{font-size:10px; padding:1px 7px; white-space:nowrap;}
@media (max-width:640px){.vd-grid{grid-template-columns:repeat(2, minmax(0,1fr)); column-gap:14px; row-gap:26px;} .vd-item .sw-tags{display:none;}}
/* ---- grid view of the projects ---- */
html[data-layout="grid"] .sw-list{position:relative; display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); column-gap:24px; row-gap:40px; padding-top:30px; align-items:start;}
html[data-layout="grid"] .sw-list::before{position:absolute; top:-4px; left:0; right:0; margin:0;}
html[data-layout="grid"] .sw-block{opacity:1; padding:0;}
html[data-layout="grid"] .sw-block::after{display:none;}
html[data-layout="grid"] .sw-image{height:auto; aspect-ratio:4 / 3; padding:18px; margin-bottom:14px;}
html[data-layout="grid"] .sw-image.fill-cover{padding:0;}
html[data-layout="grid"] .sw-image.fill-cover img{object-position:left center;}
html[data-layout="grid"] .sw-title,
html[data-layout="grid"] .sw-block.active .sw-title{font-size:17px;}
html[data-layout="grid"] .sw-meta{margin-bottom:6px;}
html[data-layout="grid"] .sw-context{font-size:12px; line-height:1.5; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden;}
html[data-layout="grid"] .sw-tools,
html[data-layout="grid"] .sw-expand{display:none;}

@media (max-width:640px){
  html[data-layout="grid"] .sw-list{grid-template-columns:repeat(2, minmax(0,1fr)); column-gap:14px; row-gap:26px;}
  html[data-layout="grid"] .sw-image{padding:10px; margin-bottom:10px;}
  html[data-layout="grid"] .sw-image.fill-cover{padding:0;}
  html[data-layout="grid"] .sw-title,
  html[data-layout="grid"] .sw-block.active .sw-title{font-size:14px;}
  html[data-layout="grid"] .sw-context,
  html[data-layout="grid"] .sw-tags{display:none;}
}

/* LineSkip walkthrough video */
.video-panel video{display:block;width:100%;max-width:360px;height:auto;margin:0 auto;background:transparent;}
.video-panel{padding-bottom:12px;}

/* Shared container: 1120px with fluid side padding, so nav, hero, and work line up on any screen */
:root{--pad:clamp(24px, 5vw, 64px);}
@media (min-width:641px){
  nav{padding-left:max(var(--pad), calc((100% - 1120px) / 2)); padding-right:max(var(--pad), calc((100% - 1120px) / 2));}
  .hero{max-width:calc(1120px + 2 * var(--pad)); padding-left:var(--pad); padding-right:var(--pad);}
  .hero-illustration{right:var(--pad);}
  #work{padding-left:max(var(--pad), calc((100% - 1120px) / 2)); padding-right:max(var(--pad), calc((100% - 1120px) / 2));}
  .info-page{max-width:calc(1120px + 2 * var(--pad)); padding-left:var(--pad); padding-right:var(--pad);}
}

/* mobile: "Selected work" sits above the Product Design / Visual Design tabs */
@media (max-width:640px){#work .section-head{flex-direction:column; align-items:flex-start; gap:6px;} .work-tabs{gap:18px;}}
