:root{--mat:#68b8d7;--paper:#f5f5f2;--ink:#1c1c1c;--muted:#9c9c9c;--white:#fff;--column:600px;--border:1px solid var(--ink);--font:"JetBrains Mono", ui-monospace, monospace}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font);color:var(--ink);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;background:#68b8d7;min-height:100vh}.galaxy{z-index:0;pointer-events:none;background:#68b8d7;position:fixed;inset:0;overflow:hidden}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit;color:inherit}ul{list-style:none}.page{z-index:1;flex-direction:column;align-items:center;min-height:100vh;padding:40px 16px 48px;display:flex;position:relative}.column{width:min(var(--column), 100%);background:var(--paper);position:relative;overflow:visible;box-shadow:0 12px 40px #0000002e}.column__dots{opacity:.45;pointer-events:none;z-index:0;background-image:url(../assets/textures/dot-grid.svg);background-repeat:repeat;background-size:24.48px;position:absolute;inset:0}.column__inner{z-index:1;position:relative}.eyebrow{text-transform:uppercase;letter-spacing:.02em;font-size:12px;font-weight:300;line-height:1}.section-title{text-transform:uppercase;letter-spacing:-.03em;font-size:28px;font-weight:500;line-height:1.05}.body-text{font-size:16px;font-weight:300;line-height:2}@media (width<=640px){.page{padding:24px 0 32px}.column{box-shadow:none}.section-title{font-size:24px}.body-text{font-size:14px;line-height:1.85}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.decor-corner{border-color:var(--ink);pointer-events:none;z-index:2;opacity:.85;border-style:solid;border-width:0;width:22px;height:22px;position:absolute}.decor-corner--tl{border-top-width:1.5px;border-left-width:1.5px;top:10px;left:10px}.decor-corner--tr{border-top-width:1.5px;border-right-width:1.5px;top:10px;right:10px}.decor-corner--bl{border-bottom-width:1.5px;border-left-width:1.5px;bottom:10px;left:10px}.decor-corner--br{border-bottom-width:1.5px;border-right-width:1.5px;bottom:10px;right:10px}.contact{background:var(--paper);border-top:var(--border);color:var(--ink);padding:48px 30px 40px;position:relative}.contact__intro .eyebrow{margin-bottom:10px;font-size:16px}.contact__copy{max-width:540px;margin-top:18px}.contact__form{flex-direction:column;gap:18px;margin-top:28px;display:flex}.contact__field{flex-direction:column;gap:8px;display:flex}.contact__field span{text-transform:uppercase;font-size:12px;font-weight:400}.contact__field input,.contact__field textarea{resize:vertical;width:100%;color:var(--ink);background:0 0;border:none;border-bottom:1px solid #1c1c1c59;outline:none;padding:10px 0}.contact__field input:focus,.contact__field textarea:focus{border-bottom-color:var(--ink)}.contact__field input::placeholder,.contact__field textarea::placeholder{color:var(--muted);font-weight:300}.contact__submit{background:var(--ink);width:100%;height:60px;color:var(--white);text-transform:uppercase;letter-spacing:.04em;cursor:pointer;border:none;margin-top:8px;font-size:14px;font-weight:500;transition:background .4s cubic-bezier(.22,1.2,.36,1),transform .4s cubic-bezier(.22,1.2,.36,1),letter-spacing .4s cubic-bezier(.22,1.2,.36,1)}.contact__submit:hover:not(:disabled){letter-spacing:.12em;background:#2352de;transform:scale(1.01)}.contact__submit:active:not(:disabled){transform:scale(.99)}.contact__submit:disabled{opacity:.7;cursor:default}@media (width<=640px){.contact{padding:36px 16px 32px}}.experience{background:var(--mat);color:var(--ink);border-bottom:var(--border);grid-template-columns:200px 1fr;display:grid}.experience__label{border-right:1px solid #1c1c1c59;align-items:flex-start;padding:45px 24px 24px;display:flex}.experience__label .eyebrow{font-size:16px;font-weight:400}.experience__list{flex-direction:column;justify-content:center;gap:4px;padding:20px 30px;display:flex}.experience__item{border-bottom:1px dotted #1c1c1c73;padding:16px 0}.experience__item:last-child{border-bottom:none}.experience__header{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 16px;display:flex}.experience__role{text-transform:uppercase;font-size:14px;font-weight:500;line-height:1.3}.experience__dates{text-transform:uppercase;letter-spacing:.02em;color:#1c1c1cb3;white-space:nowrap;font-size:12px;font-weight:300}.experience__company{text-transform:uppercase;letter-spacing:.02em;margin-top:6px;font-size:12px;font-weight:400;display:block}.experience__summary{color:#1c1c1cd9;text-transform:none;margin-top:8px;font-size:13px;font-weight:300;line-height:1.55}@media (width<=640px){.experience{grid-template-columns:1fr}.experience__label{border-bottom:1px solid #1c1c1c59;border-right:none;padding:24px 16px 16px}.experience__list{padding:8px 16px 16px}.experience__item{padding:14px 0}.experience__role{font-size:13px}.experience__summary{font-size:12px}}.intro{background:var(--white);padding:48px 30px 30px;position:relative;overflow:visible}.intro__top{isolation:isolate;min-height:270px;margin-bottom:24px;position:relative}.intro__polaroid{z-index:0;background:var(--white);width:236px;padding:15px 15px 10px;position:absolute;top:0;right:0;transform:rotate(1.5deg);box-shadow:3px 4px #00000014,0 8px 24px #0000001f}.intro__name-block{z-index:2;width:min(420px,78%);padding:35px 0;position:relative}.intro__label{margin-bottom:12px;font-size:16px;line-height:1}.intro__name{text-transform:uppercase;letter-spacing:-.03em;text-shadow:3px 4px #ffffffeb,0 8px 24px #ffffff80;flex-direction:column;font-size:clamp(42px,10vw,88px);font-weight:500;line-height:.88;display:flex}.intro__photo-wrap{aspect-ratio:1;background:#ddd;position:relative;overflow:hidden}.intro__photo-wrap:after{content:"";opacity:.18;mix-blend-mode:multiply;pointer-events:none;background-image:url(../assets/textures/mat-grain.webp);background-size:180px;position:absolute;inset:0}.intro__photo-wrap picture{width:100%;height:100%;display:block}.intro__photo{object-fit:cover;filter:grayscale()contrast(1.05);width:100%;height:100%}.intro__polaroid-meta{justify-content:space-between;align-items:flex-end;gap:8px;min-height:30px;margin-top:8px;display:flex}.intro__polaroid-role{text-transform:uppercase;font-size:9px;line-height:1.2}.intro__polaroid-year{color:var(--muted);text-transform:uppercase;font-size:14px;line-height:1}.intro__bio{z-index:2;max-width:100%;margin-bottom:28px;padding-right:8px;position:relative}@media (width<=640px){.intro{padding:36px 16px 24px}.intro__top{flex-direction:column;gap:20px;min-height:0;display:flex}.intro__name-block{order:-1;width:100%}.intro__polaroid{z-index:0;width:min(236px,100%);margin-inline:auto;position:relative;top:auto;right:auto}}.link-list{background:var(--white)}.link-row{border-bottom:var(--border);grid-template-columns:200px 1fr;min-height:161px;display:grid}.link-row__media{z-index:2;border-right:var(--border);justify-content:center;align-items:center;min-height:161px;display:flex;position:relative;overflow:hidden}.link-row__media picture{width:100%;height:100%;display:block}.link-row__media img{object-fit:contain;width:100%;height:100%}.link-row__body{background:var(--white);justify-content:space-between;gap:16px;padding:30px 24px 24px;display:flex;position:relative;overflow:hidden}.link-row__wipe{z-index:0;background:var(--ink);transform-origin:0;pointer-events:none;transition:transform .45s cubic-bezier(.22,1.2,.36,1);position:absolute;inset:0;transform:scaleX(0)}.link-row__copy,.link-row__arrow{z-index:1;position:relative}.link-row__copy{max-width:287px}.link-row__copy .eyebrow,.link-row__title,.link-row__desc{transition:color .35s cubic-bezier(.22,1.2,.36,1)}.link-row__title{text-transform:uppercase;letter-spacing:-.03em;margin-top:8px;font-size:24px;font-weight:500;line-height:.97}.link-row__desc{margin-top:14px;font-size:14px;font-weight:300;line-height:1.7}.link-row__arrow{border:var(--border);width:36px;height:36px;color:var(--ink);background:0 0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:background .35s cubic-bezier(.22,1.2,.36,1),color .35s cubic-bezier(.22,1.2,.36,1),border-color .35s cubic-bezier(.22,1.2,.36,1),transform .45s cubic-bezier(.22,1.2,.36,1);display:inline-flex}.link-row__arrow svg{width:16px;height:16px}@media (hover:hover){.link-row:hover .link-row__wipe{transform:scaleX(1)}.link-row:hover .link-row__copy .eyebrow,.link-row:hover .link-row__title,.link-row:hover .link-row__desc{color:#f2f2ed}.link-row:hover .link-row__arrow{color:var(--ink);background:#f2f2ed;border-color:#f2f2ed;transform:translate(3px)}}@media (width<=640px){.link-row{grid-template-columns:120px 1fr;min-height:130px}.link-row__media{min-height:130px}.link-row__body{gap:10px;padding:18px 14px}.link-row__title{font-size:16px}.link-row__desc{margin-top:8px;font-size:12px}.link-row__arrow{width:28px;height:28px}}@media (prefers-reduced-motion:reduce){.link-row__wipe,.link-row__copy .eyebrow,.link-row__title,.link-row__desc,.link-row__arrow{transition:none}}.portfolio{background:var(--paper);position:relative;overflow:hidden}.portfolio__frame{width:100%;margin:0;animation:.6s portfolio-in;position:relative;overflow:hidden}.portfolio__frame+.portfolio__frame{border-top:var(--border)}.portfolio__frame picture{aspect-ratio:1;width:100%;line-height:0;display:block;overflow:hidden}.portfolio__frame img{object-fit:cover;object-position:center;width:100%;height:100%;display:block}.portfolio__caption{text-transform:uppercase;letter-spacing:.02em;color:var(--ink);background:var(--white);border-top:1px solid #1c1c1c1f;padding:10px 14px;font-size:11px;font-weight:400;line-height:1.35}@keyframes portfolio-in{0%{opacity:.4}to{opacity:1}}.services{background:var(--ink);color:var(--white);border-bottom:var(--border);grid-template-columns:200px 1fr;min-height:273px;display:grid}.services__label{border-right:1px solid #ffffff59;align-items:flex-start;padding:45px 24px 24px;display:flex}.services__label .eyebrow{font-size:16px;font-weight:400}.services__list{flex-direction:column;justify-content:center;padding:16px 30px;display:flex}.services__item{border-bottom:1px dotted #ffffff8c;align-items:flex-start;gap:16px;padding:12px 0;display:flex}.services__item:last-child{border-bottom:none}.services__check{flex-shrink:0;width:18px;height:18px;margin-top:2px}.services__copy{flex-direction:column;gap:4px;min-width:0;display:flex}.services__title{text-transform:uppercase;font-size:14px;font-weight:400;line-height:1.3}.services__meta{text-transform:uppercase;letter-spacing:.02em;color:#ffffffa6;font-size:12px;font-weight:300;line-height:1.3}@media (width<=640px){.services{grid-template-columns:1fr}.services__label{border-bottom:1px solid #ffffff59;border-right:none;padding:24px 16px 16px}.services__list{padding:8px 16px 16px}.services__item{padding:12px 0}.services__title{font-size:13px}}.social-grid{border-top:var(--border);border-bottom:var(--border);background:var(--white);grid-template-columns:repeat(4,1fr);display:grid}.social-grid__item{border-right:var(--border)}.social-grid__item:last-child{border-right:none}.social-grid__link{background:var(--white);justify-content:center;align-items:center;height:80px;transition:background .4s cubic-bezier(.22,1.2,.36,1),transform .4s cubic-bezier(.22,1.2,.36,1);display:flex}.social-grid__icon{width:28px;height:28px;color:var(--ink);transition:color .35s cubic-bezier(.22,1.2,.36,1)}@media (hover:hover){.social-grid__link:hover{background:#2352de}.social-grid__link:hover .social-grid__icon{color:var(--white)}}@media (width<=640px){.social-grid__link{height:56px}.social-grid__icon{width:22px;height:22px}}@media (prefers-reduced-motion:reduce){.social-grid__link,.social-grid__icon{transition:none}}.testimonials{background:var(--paper);border-top:var(--border);padding:50px 0 40px;position:relative;overflow:hidden}.testimonials__intro{padding:0 30px 28px}.testimonials__intro .eyebrow{margin-bottom:10px;font-size:16px}.testimonials__copy{max-width:540px;margin-top:20px}.testimonials__viewport{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 4% 96%,#0000);mask-image:linear-gradient(90deg,#0000,#000 4% 96%,#0000)}.testimonials__track{gap:18px;width:max-content;padding:24px 30px 16px;animation:42s linear infinite marquee;display:flex}.testimonials__track:hover{animation-play-state:paused}.testimonial-card{background:var(--white);border:var(--border);border-radius:10px;flex-direction:column;flex-shrink:0;width:240px;min-height:320px;padding:22px 18px 14px;transition:transform .2s;display:flex;position:relative;box-shadow:0 8px 20px #00000014}.testimonial-card:hover{transform:translateY(-3px)}.testimonial-card__author{align-items:center;gap:10px;display:flex}.testimonial-card__avatar{object-fit:cover;border:1px solid #1c1c1c26;border-radius:50%;width:50px;height:50px}.testimonial-card__author h3{text-transform:uppercase;font-size:13px;font-weight:500;line-height:1.2}.testimonial-card__author p{text-transform:uppercase;opacity:.75;margin-top:2px;font-size:11px;font-weight:300}.testimonial-card__quote-mark{color:#d0d0cc;margin-top:10px;font-size:56px;font-weight:500;line-height:.7}.testimonial-card__quote{flex:1;font-size:12px;font-weight:300;line-height:1.55}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}@media (width<=640px){.testimonials__intro{padding:0 16px 20px}.testimonials__track{padding:20px 16px 12px}.testimonial-card{width:220px;min-height:300px}}@media (prefers-reduced-motion:reduce){.testimonials__track{flex-wrap:wrap;justify-content:center;width:100%;animation:none}}
