:root{font-family:Arial,Helvetica,sans-serif;color:#302b39;background:#fff;font-synthesis:none;--violet:#66528f;--line:#dcd3e9;--soft:#f3eff8}*{box-sizing:border-box}body{margin:0}a{color:inherit}a:focus-visible{outline:3px solid #66528f;outline-offset:6px}.skip{position:absolute;top:-100px;left:20px;padding:12px;background:#fff;z-index:10}.skip:focus{top:12px}header{min-height:86px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px clamp(22px,5vw,80px);background:#faf8fc;border-bottom:1px solid #e7e1ee}.identity{display:flex;align-items:center;gap:12px;font-size:18px;font-weight:700;text-decoration:none}.mark{display:grid;place-items:center;background:#66528f;color:#fff;border-radius:9px;width:35px;height:35px;font:italic 31px Georgia,serif}.contact{font-size:14px;font-weight:650;border:1px solid var(--line);border-radius:30px;padding:11px 20px;text-decoration:none}main{max-width:1200px;margin:auto;padding:62px 32px 64px}.intro{text-align:center;max-width:900px;margin:0 auto 42px}.eyebrow{font-size:12px;letter-spacing:.16em;color:var(--violet);font-weight:750;margin:0 0 22px}h1{font-size:clamp(36px,4.8vw,60px);line-height:1.08;letter-spacing:-.045em;margin:0 0 26px;font-weight:750}.lead{max-width:800px;margin:0 auto;color:#70677d;font-size:18px;line-height:1.65}.choice{font-size:15px;color:#70677d;margin:20px 0 0}.projects{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.project{border:1.5px solid var(--line);border-radius:26px;background:var(--soft);padding:30px;display:flex;flex-direction:column;text-decoration:none;transition:transform .16s,border-color .16s}.project:hover{border-color:#a58bc7;transform:translateY(-3px)}.recommended{background:#eee8f6;border-color:#cbbdde}.card-top{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:24px}.icon{display:grid;place-items:center;background:#e8f3f3;border-radius:50%;width:58px;height:58px;flex:0 0 auto}.icon svg{width:38px;fill:none;stroke:#8b73ab;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.tag{font-size:12px;line-height:1.4;font-weight:700;padding:7px 12px;background:#fff9;border:1px solid #d4c9e2;border-radius:24px;color:#66528f}.secondary{color:#776d85}.kicker{font-size:11px;letter-spacing:.12em;font-weight:700;color:#837194;margin:0 0 10px}h2{font-size:28px;line-height:1.2;letter-spacing:-.025em;color:#66528f;margin:0 0 16px}.project p:not(.kicker){font-size:17px;line-height:1.65;color:#70677d;margin:0}.card-action{margin-top:auto;display:flex;justify-content:space-between;align-items:center;padding-top:22px;border-top:1px solid #d7cde4;color:#66528f;font-size:16px;font-weight:700}.card-action span{font-size:24px}footer{max-width:1136px;margin:auto;padding:25px 0 30px;border-top:1px solid #e7e1ee;display:flex;justify-content:space-between;gap:16px;font-size:12px;color:#81778d}@media(max-width:680px){header{padding:16px 22px}.identity{font-size:15px}.contact{font-size:12px;padding:10px 12px}main{padding:40px 22px}.intro{margin-bottom:30px}.lead{font-size:16px}.projects{grid-template-columns:1fr;gap:18px}.project{padding:24px}h2{font-size:26px}footer{margin:0 22px;flex-direction:column;gap:9px}.tag{font-size:11px}.project p:not(.kicker){font-size:16px}}@media(prefers-reduced-motion:reduce){.project{transition:none}.project:hover{transform:none}}
/* Compact project cards: approximately 60% of their previous desktop area. */
.projects{max-width:910px;margin-inline:auto;gap:20px}.project{padding:20px;border-radius:21px}.card-top{margin-bottom:14px}.icon{width:40px;height:40px}.icon svg{width:28px}.tag{font-size:10px;padding:5px 9px}.kicker{font-size:9px;line-height:1.3;margin-bottom:8px}.project h2{font-size:23px;line-height:1.2;margin-bottom:12px}.project p:not(.kicker){font-size:14px;line-height:1.5;margin:0}@media(max-width:680px){.projects{gap:16px}.project{padding:20px}.project h2{font-size:23px}.project p:not(.kicker){font-size:14px}}

/* Three matching cards; preserve the established card treatment. */
@media(min-width:940px){.projects{grid-template-columns:repeat(3,minmax(0,1fr));max-width:1136px}}

/* Portfolio introduction: 20% smaller than the previous 18px/16px copy. */
.lead{font-size:14.4px}@media(max-width:680px){.lead{font-size:12.8px}}
