/* vietnamese */
@font-face {
  font-family: 'Newsreader';
  font-style: italic;
  font-weight: 300;
  font-display: swap;
  src: url("/assets/fonts/cfa4f0dc-b7cf-4001-9137-f2e518c8aee0.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Newsreader';
  font-style: italic;
  font-weight: 300;
  font-display: swap;
  src: url("/assets/fonts/945a7b4b-99cd-4984-9193-132edca2dee4.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Newsreader';
  font-style: italic;
  font-weight: 300;
  font-display: swap;
  src: url("/assets/fonts/46c0fb9b-1152-4c5c-8a58-3e2d906740bf.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* vietnamese */
@font-face {
  font-family: 'Newsreader';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/fonts/cfa4f0dc-b7cf-4001-9137-f2e518c8aee0.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Newsreader';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/fonts/945a7b4b-99cd-4984-9193-132edca2dee4.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Newsreader';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/fonts/46c0fb9b-1152-4c5c-8a58-3e2d906740bf.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* vietnamese */
@font-face {
  font-family: 'Newsreader';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url("/assets/fonts/cfa4f0dc-b7cf-4001-9137-f2e518c8aee0.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Newsreader';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url("/assets/fonts/945a7b4b-99cd-4984-9193-132edca2dee4.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Newsreader';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url("/assets/fonts/46c0fb9b-1152-4c5c-8a58-3e2d906740bf.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* vietnamese */
@font-face {
  font-family: 'Newsreader';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("/assets/fonts/225e6e93-3391-45db-b94b-e236a3edbccb.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Newsreader';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("/assets/fonts/f53d205d-df57-47f7-bcb3-1c6a9b163a65.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Newsreader';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("/assets/fonts/3d862b08-0915-4d6f-860a-f53c12e1ee36.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* vietnamese */
@font-face {
  font-family: 'Newsreader';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/fonts/225e6e93-3391-45db-b94b-e236a3edbccb.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Newsreader';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/fonts/f53d205d-df57-47f7-bcb3-1c6a9b163a65.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Newsreader';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/fonts/3d862b08-0915-4d6f-860a-f53c12e1ee36.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* vietnamese */
@font-face {
  font-family: 'Newsreader';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/assets/fonts/225e6e93-3391-45db-b94b-e236a3edbccb.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Newsreader';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/assets/fonts/f53d205d-df57-47f7-bcb3-1c6a9b163a65.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Newsreader';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/assets/fonts/3d862b08-0915-4d6f-860a-f53c12e1ee36.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* vietnamese */
@font-face {
  font-family: 'Space Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/fonts/8c4d349d-28e7-4c92-8104-7a2e2b330790.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Space Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/fonts/0092edd0-9608-48bb-bdc4-7b6f96ec6d6a.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Space Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/fonts/ef078128-e323-4189-99a0-0b83a216010d.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* vietnamese */
@font-face {
  font-family: 'Space Mono';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/assets/fonts/1bf25b04-b7b8-49ee-87de-4c8e65803801.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Space Mono';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/assets/fonts/c7733818-5e44-4f1d-a82b-8ba19fa05424.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Space Mono';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/assets/fonts/e0b59f33-710d-4741-81b9-77ef5b20ebf8.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* latin-ext */
@font-face {
  font-family: 'Instrument Serif';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/fonts/137a6978-a9b4-4b1a-b2c2-adcf0793a001.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Instrument Serif';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/fonts/29c413e1-ad10-49cb-98f5-a4594b87af68.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Instrument Serif';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/fonts/1ab8a5e4-39a5-4cdf-8a2b-184e16c48b79.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Instrument Serif';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/fonts/d199fd3b-8d77-48fd-abfb-6ff571cf2db9.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}


  * { box-sizing: border-box; }
  html, body { margin: 0; padding: 0; background: #FAFAF8; scroll-behavior: smooth; }
  a { color: #4C9A74; text-decoration: none; }
  a:hover { color: #2F7A56; }
  ::selection { background: #4C9A74; color: #FAFAF8; }
  #work div[style*="overflow-x"] { scrollbar-width: none; }
  #work div[style*="overflow-x"]::-webkit-scrollbar { display: none; }
  @keyframes mg-xr { from { transform: translateX(-12vw); } to { transform: translateX(112vw); } }
  @keyframes mg-wob { 0%,100% { transform: translateY(0) rotate(-4deg); } 25% { transform: translateY(-16px) rotate(3deg); } 50% { transform: translateY(4px) rotate(-2deg); } 75% { transform: translateY(-10px) rotate(4deg); } }
  @keyframes mg-batw { 0%,100% { transform: translateY(0); } 20% { transform: translateY(-34px); } 45% { transform: translateY(10px); } 70% { transform: translateY(-24px); } }
  @keyframes mg-flapx { 0%,100% { transform: scaleX(1); } 50% { transform: scaleX(.35); } }
  @keyframes mg-flapy { 0%,100% { transform: scaleY(1); } 50% { transform: scaleY(.45); } }
  @keyframes mg-hover { 0%,100% { transform: translate(0,0); } 20% { transform: translate(22px,-14px); } 45% { transform: translate(-10px,-26px); } 70% { transform: translate(-24px,-6px); } }
  @keyframes mg-jelly { 0%,100% { transform: translateY(0) scale(1,1); } 30% { transform: translateY(-26px) scale(.86,1.16); } 55% { transform: translateY(-14px) scale(1.1,.88); } 80% { transform: translateY(6px) scale(.96,1.05); } }
  @keyframes mg-wf { to { stroke-dashoffset: -12; } }
  .wf * { stroke-dasharray: 5 7; animation: mg-wf .7s linear infinite; }
  @keyframes mg-bob { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-7px); } }
  @keyframes mg-hop { 0%,60%,100% { transform: translateY(0); } 70% { transform: translateY(-10px); } 80% { transform: translateY(0); } 88% { transform: translateY(-4px); } }
  @keyframes mg-flap { 0%,100% { transform: scale(1,1); } 50% { transform: scale(1,.82) translateY(2px); } }
  @keyframes mg-glow { 0%,100% { opacity:.55; transform:scale(.96); } 50% { opacity:1; transform:scale(1.06); } }
  @keyframes mg-ripple { 0%,100% { transform: scale(.94); } 50% { transform: scale(1.08); } }
  @keyframes mg-flow { 0%,100% { transform: translateX(-4px); } 50% { transform: translateX(4px); } }
  @keyframes mg-spin-slow { to { transform: rotate(360deg); } }
  @keyframes mg-spin { to { transform: rotate(360deg); } }
  @keyframes mg-leaf { 0%,100% { transform: translateY(0) rotate(-8deg); } 50% { transform: translateY(8px) rotate(10deg); } }
  @media (max-width:1359px){ .mgdec{display:none !important;} }
  .gcell { transition: transform .35s cubic-bezier(.2,.8,.2,1), background .3s ease; }
  .gcell:hover { transform: translateY(-4px); background:#F4F3EF; }
  .gcell:hover svg { animation-duration:1.4s !important; }
  @keyframes mg-sway { 0%,100% { transform: rotate(-2.5deg); } 50% { transform: rotate(2.8deg); } }
  @keyframes mg-sway2 { 0%,100% { transform: rotate(2.2deg); } 50% { transform: rotate(-3deg); } }
  @keyframes mg-fly1 { 0% { transform: translate(-10vw,20px); opacity: 0; } 8% { opacity: 1; } 92% { opacity: 1; } 100% { transform: translate(110vw,-30px); opacity: 0; } }
  @keyframes mg-fly2 { 0% { transform: translate(110vw,60px) scaleX(-1); opacity: 0; } 10% { opacity: 1; } 90% { opacity: 1; } 100% { transform: translate(-10vw,10px) scaleX(-1); opacity: 0; } }
  @keyframes mg-rise { 0% { transform: translateY(0) scale(1); opacity: 0; } 12% { opacity: .7; } 100% { transform: translateY(-320px) scale(.6); opacity: 0; } }
  @keyframes mg-twinkle { 0%,100% { opacity: .5; } 50% { opacity: 1; } }
  @keyframes mg-drift { 0% { transform: translate(0,0) rotate(-6deg); } 50% { transform: translate(50px,-26px) rotate(8deg); } 100% { transform: translate(0,0) rotate(-6deg); } }
  @keyframes mg-fall { 0% { transform: translateY(-10px) rotate(0deg); opacity:0; } 15% { opacity:.9; } 100% { transform: translateY(60px) rotate(40deg); opacity:0; } }
  @keyframes mg-pulse { 0%,100% { opacity: .35; } 50% { opacity: 1; } }
  @keyframes mg-bounce { 0%,100% { transform: translateY(0); } 50% { transform: translateY(8px); } }
  #products .prodcard .go { opacity:0; transform:translateX(-6px); transition:opacity .3s ease, transform .3s ease; color:#4C9A74; font-size:20px; line-height:1; }
  #products .prodcard:hover .go { opacity:1; transform:none; }

body { font-family:'Space Mono',monospace; color:#2A2433; }
:focus-visible { outline:2px solid #4C9A74; outline-offset:6px; }
.skip-link { position:fixed; top:10px; left:10px; padding:12px; background:white; z-index:100; transform:translateY(-160%); }
.skip-link:focus { transform:none; }
.prodcard:hover,.prodcard:focus-visible { background:#F5F6EF !important; }
.prodcard:focus-visible .go { opacity:1 !important; transform:none !important; }
.footer-links { display:flex; gap:26px; justify-content:center; flex-wrap:wrap; font-size:12px; margin:32px 0; }
.footer-links a { border-bottom:1px solid #4C9A74; padding-bottom:4px; }
.internal-nav { max-width:1100px; margin:auto; padding:28px 24px; display:flex; justify-content:space-between; align-items:center; gap:24px; }
.brand { font-family:'Newsreader',serif; font-size:30px; color:#2A2433; }
.brand em { color:#4C9A74; }
.nav-links { display:flex; gap:24px; font-size:11px; text-transform:uppercase; letter-spacing:.1em; }
.page-shell { position:relative; min-height:75vh; padding:80px 24px 110px; background:linear-gradient(160deg,#FAFAF8,#F0EEE9); }
.page-inner { position:relative; max-width:780px; margin:auto; }
.eyebrow { color:#716A79; font-size:11px; text-transform:uppercase; letter-spacing:.17em; margin:28px 0; }
.page-title { font-family:'Newsreader',serif; font-weight:300; font-size:clamp(44px,7vw,80px); line-height:1.08; margin:24px 0; }
.page-description { font-family:'Newsreader',serif; font-size:clamp(22px,3vw,30px); line-height:1.5; color:#6B6574; max-width:35ch; }
.placeholder-note { border-top:1px solid #DCD8CF; border-bottom:1px solid #DCD8CF; padding:32px 0; margin:48px 0; }
.placeholder-note h2 { font-family:'Newsreader',serif; font-style:italic; font-weight:300; font-size:32px; margin:0 0 18px; }
.placeholder-note p { font-family:'Newsreader',serif; color:#6B6574; font-size:21px; line-height:1.6; max-width:55ch; }
.page-icon { color:#4C9A74; width:70px; height:70px; animation:mg-sway 7s ease-in-out infinite; transform-origin:bottom; }
.page-bottom { display:flex; justify-content:space-between; gap:24px; font-size:12px; }
.entry-list { margin:48px 0; }
.entry { display:block; border-top:1px solid #DCD8CF; padding:25px 0; }
.entry h2 { font-family:'Newsreader',serif; font-weight:400; font-size:29px; margin:10px 0; color:#2A2433; }
.entry p { font-family:'Newsreader',serif; font-size:20px; color:#6B6574; line-height:1.5; }
.entry .eyebrow { margin:0; }
@media(max-width:700px) {
 #mg-nav { gap:14px !important; width:100%; justify-content:center; }
 #mg-nav a { gap:4px !important; font-size:10px !important; letter-spacing:.06em !important; }
 #mg-nav svg { width:23px; height:23px; }
 #home h1 { font-size:clamp(56px,15vw,96px) !important; }
 #home h1 + div { font-size:18px !important; line-height:1.6 !important; }
 #writings a { grid-template-columns:1fr !important; gap:10px !important; }
 #intro > div { grid-template-columns:38px minmax(0,1fr) !important; gap:18px !important; }
 #intro svg { width:34px; }
 .internal-nav { align-items:flex-start; flex-direction:column; }
 .nav-links { flex-wrap:wrap; gap:20px; }
 .page-shell { padding-top:45px; }
 .page-bottom { flex-direction:column; }
}
@media(prefers-reduced-motion:reduce) {
 *,*::before,*::after { animation:none !important; transition:none !important; scroll-behavior:auto !important; }
 [data-reveal] { opacity:1 !important; transform:none !important; }
}
.social-links { gap:clamp(22px,3.5vw,38px); font-size:15px; letter-spacing:.12em; margin:32px 0 44px; }
.social-links a { color:#4C9A74; border-bottom-color:#7FC8A0; padding-bottom:4px; transition:color .2s ease; }
.social-links a:hover { color:#2F7A56; }
@media(max-width:500px) { .social-links { gap:20px; font-size:12px; } }

.work-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; align-items:start; }
.work-grid article { padding:18px 16px !important; }
.work-grid article > div:first-child { flex-wrap:wrap; gap:7px !important; }
.work-grid article > div:first-child > span:last-child { margin-left:0 !important; }
.work-grid article h3 { font-size:21px !important; }
@media(max-width:759px) { .work-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:479px) { .work-grid { grid-template-columns:1fr; } }
