:root{--ink: #1f2b25;--muted: #5f6d65;--accent: #3f7d5a;--accent-dark: #245c45;--accent-soft: #ddeee4;--paper: #fbfefc;--paper-warm: #f6fbf7;--line: #d7e7dd;--card: #ffffff;--shadow: 0 16px 40px rgba(36, 92, 69, 0.10);--shadow-soft: 0 8px 28px rgba(36, 92, 69, 0.07)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:radial-gradient(circle at 96% 4%, rgba(121,169,139,0.18) 0 2px, transparent 2.5px) 0 0/18px 18px,linear-gradient(180deg, #fbfefc 0%, #f6fbf7 100%);font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-size:16px;line-height:1.65}a{color:inherit}img{max-width:100%}.skip-link{position:absolute;top:-50px;left:16px;z-index:100;padding:10px 14px;border-radius:8px;color:#fff;background:var(--accent);text-decoration:none}.skip-link:focus{top:16px}.site-nav{position:sticky;top:0;z-index:20;border-bottom:1px solid rgba(215,231,221,0.85);background:rgba(251,254,252,0.92);backdrop-filter:blur(14px)}.nav-inner{display:flex;align-items:center;justify-content:space-between;width:min(1120px, calc(100% - 40px));min-height:74px;margin:0 auto}.brand{display:inline-flex;gap:8px;color:var(--ink);font-size:1.05rem;font-weight:800;letter-spacing:0.12em;text-decoration:none}.brand-kim{color:var(--accent)}.language-toggle{color:var(--accent);font-size:0.9rem;font-weight:700;letter-spacing:0.08em;text-decoration:none;text-transform:uppercase;transition:color 0.2s ease}.language-toggle:hover{color:var(--accent-dark);text-decoration:underline;text-underline-offset:4px}.nav-links{display:flex;gap:28px}.nav-links a{color:var(--ink);font-size:0.95rem;font-weight:650;text-decoration:none}.nav-links a:hover{color:var(--accent)}.section-shell{width:min(1120px, calc(100% - 40px));margin:0 auto}.hero{display:grid;grid-template-columns:minmax(0, 1.15fr) minmax(300px, 0.85fr);align-items:center;gap:72px;min-height:610px;padding:72px 0 64px}.eyebrow{margin:0 0 8px;color:var(--accent);font-size:0.78rem;font-weight:800;letter-spacing:0.12em;text-transform:uppercase}h1,h2,h3,p{margin-top:0}h1{max-width:760px;margin-bottom:12px;font-size:clamp(3.1rem, 7vw, 5.7rem);line-height:0.98;letter-spacing:-0.065em}h2{margin-bottom:20px;font-size:clamp(1.85rem, 4vw, 3rem);line-height:1.12;letter-spacing:-0.045em}h3{margin-bottom:10px;font-size:1.26rem;line-height:1.2;letter-spacing:-0.02em}.hero-role{margin-bottom:6px;color:var(--accent);font-size:clamp(1.35rem, 2.5vw, 1.85rem);font-weight:750;letter-spacing:-0.035em}.hero-specialisms{margin-bottom:26px;color:var(--muted);font-weight:650}.hero-specialisms span{padding:0 4px;color:var(--accent)}.hero-intro{max-width:650px;margin-bottom:30px;color:#34463b;font-size:1.14rem;line-height:1.75}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:22px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:10px 18px;border-radius:10px;font-weight:750;text-decoration:none;transition:transform 160ms ease, box-shadow 160ms ease, background 160ms ease}.button:hover{transform:translateY(-2px)}.button-primary{color:#fff;background:var(--accent);box-shadow:0 8px 20px rgba(63,125,90,0.24)}.button-primary:hover{background:var(--accent-dark)}.button-secondary{border:1px solid #b8d2c1;color:var(--accent);background:rgba(255,255,255,0.7)}.button-secondary:hover{background:#fff;box-shadow:var(--shadow-soft)}.availability{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:0.9rem;font-weight:600}.availability-dot{width:9px;height:9px;border-radius:50%;background:#79a98b;box-shadow:0 0 0 4px rgba(121,169,139,0.18)}.hero-photo-wrap{position:relative;max-width:430px;justify-self:end}.hero-photo-wrap::before{position:absolute;z-index:-1;top:-22px;right:-22px;width:140px;height:140px;border-radius:24px;background:radial-gradient(circle, rgba(63,125,90,0.28) 0 2px, transparent 2.5px) 0 0/16px 16px;content:""}.hero-photo{display:block;width:100%;aspect-ratio:0.95;object-fit:cover;object-position:58% center;border-radius:20px;box-shadow:var(--shadow)}.logo-section{margin-bottom:98px;padding:42px 46px 40px;border:1px solid rgba(215,231,221,0.95);border-radius:26px;background:rgba(255,255,255,0.72);box-shadow:var(--shadow-soft)}.section-heading{max-width:800px;margin-bottom:38px}.section-heading-centered{max-width:760px;margin-right:auto;margin-left:auto;text-align:center}.section-intro{margin:0 auto;color:var(--muted);font-size:0.96rem}.logo-grid{display:grid;grid-template-columns:repeat(6, minmax(100px, 1fr));gap:16px;align-items:stretch}.logo-card{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:132px;padding:18px 12px;border:1px solid transparent;border-radius:16px;background:transparent;text-align:center;text-decoration:none;transition:border 160ms ease, background 160ms ease, transform 160ms ease}.logo-card:hover{border-color:#cfe2d5;background:#fff;transform:translateY(-3px)}.logo-card img{width:min(120px, 85%);height:48px;object-fit:contain;margin-bottom:13px}.company-label{color:#44534a;font-size:0.82rem;font-weight:650}.logo-text-card{gap:3px}.recursive-mark{display:inline-grid;width:33px;height:33px;place-items:center;margin-bottom:8px;border-radius:9px;color:#fff;background:#3f7d5a;font-size:1.25rem;line-height:1}.recursive-wordmark{margin-bottom:10px;color:#233028;font-size:1.28rem;font-weight:760;letter-spacing:-0.055em}.suntory-text-card{gap:3px}.suntory-wordmark{margin-bottom:10px;color:#49b8d4;font-family:Georgia, "Times New Roman", serif;font-size:1.45rem;font-style:italic;font-weight:800;letter-spacing:-0.07em}.about{margin-bottom:98px}.about-layout{display:grid;grid-template-columns:0.82fr 1.18fr;gap:64px;align-items:start}.about-copy{color:#34463b;font-size:1.05rem}.about-copy p:last-child{margin-bottom:0}.strengths-grid{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:16px}.strength-card{min-height:178px;padding:24px;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,0.75)}.strength-card p{margin-bottom:0;color:var(--muted);font-size:0.91rem;line-height:1.55}.strength-icon{display:inline-grid;width:40px;height:40px;place-items:center;margin-bottom:16px;border-radius:50%;color:var(--accent);background:var(--accent-soft);font-size:1.25rem;font-weight:800}.projects{margin-bottom:98px}.projects-heading{display:flex;align-items:end;justify-content:space-between;gap:28px}.projects-heading h2{margin-bottom:0}.text-link{color:var(--accent);font-size:0.93rem;font-weight:800;text-decoration:none}.text-link:hover{color:var(--accent-dark);text-decoration:underline;text-underline-offset:4px}.text-link span{display:inline-block;margin-left:4px;transition:transform 160ms ease}.text-link:hover span{transform:translateX(3px)}.project-grid{display:grid;grid-template-columns:repeat(3, minmax(0, 1fr));gap:22px}.project-card{display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--line);border-radius:18px;background:var(--card);box-shadow:0 10px 30px rgba(36,92,69,0.05);transition:transform 180ms ease, box-shadow 180ms ease}.project-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}.project-visual{display:flex;flex-direction:column;justify-content:end;min-height:148px;padding:20px;color:#fff}.project-visual span{display:inline-flex;align-items:center;width:fit-content;margin-bottom:7px;padding:4px 8px;border:1px solid rgba(255,255,255,0.6);border-radius:999px;font-size:0.72rem;font-weight:800;letter-spacing:0.08em;text-transform:uppercase}.project-visual p{margin-bottom:0;font-size:0.94rem;font-weight:700}.visual-water{background:linear-gradient(135deg, rgba(15,72,129,0.32), rgba(81,190,235,0.15)),linear-gradient(135deg, #2e99cd, #6bc8ec)}.visual-rain{background:linear-gradient(135deg, rgba(29,47,84,0.24), rgba(90,177,128,0.18)),linear-gradient(135deg, #5d9abb, #6eae87)}.visual-car{background:linear-gradient(135deg, rgba(36,92,69,0.16), rgba(121,169,139,0.22)),linear-gradient(135deg, #5f7468, #79a98b)}.visual-cloud{background:linear-gradient(135deg, rgba(15,38,79,0.22), rgba(0,146,207,0.16)),linear-gradient(135deg, #1d355e, #3d8cbc)}.visual-ai{background:linear-gradient(135deg, rgba(36,92,69,0.16), rgba(90,143,115,0.2)),linear-gradient(135deg, #496f5a, #7fb39b)}.visual-hymn{background:linear-gradient(135deg, rgba(76,59,21,0.15), rgba(196,134,52,0.18)),linear-gradient(135deg, #8b7950, #cfad68)}.project-content{display:flex;flex:1;flex-direction:column;padding:24px}.project-type{margin-bottom:9px;color:var(--accent);font-size:0.72rem;font-weight:850;letter-spacing:0.095em;text-transform:uppercase}.project-content>p:not(.project-type):not(.project-highlight){color:var(--muted);font-size:0.93rem}.project-content .text-link,.project-links{margin-top:auto}.project-links{display:grid;gap:8px}.project-highlight{margin-top:auto;margin-bottom:18px;padding:12px;border-left:3px solid var(--accent);border-radius:0 8px 8px 0;color:#435248;background:#f1f8f3;font-size:0.86rem;line-height:1.5}.contact-section{margin-bottom:64px}.contact-card{display:grid;grid-template-columns:minmax(0, 1.2fr) minmax(260px, 0.8fr);gap:42px;padding:46px;border:1px solid #cfe2d5;border-radius:24px;background:linear-gradient(135deg, #eaf5ee, #f8fcf9)}.contact-card h2{max-width:650px;margin-bottom:14px;font-size:clamp(1.75rem, 3vw, 2.5rem)}.contact-card p:last-child{max-width:650px;margin-bottom:0;color:#4a5b50}.contact-links{display:grid;align-content:center;gap:14px}.contact-links a{color:#35483d;font-size:0.94rem;font-weight:700;text-decoration:none;overflow-wrap:anywhere}.contact-links a:hover{color:var(--accent);text-decoration:underline;text-underline-offset:4px}.site-footer{padding:0 20px 36px;color:var(--muted);font-size:0.82rem;text-align:center}.site-footer p{margin:0}@media (max-width: 920px){.hero{gap:40px}.logo-grid{grid-template-columns:repeat(3, minmax(0, 1fr))}.about-layout{grid-template-columns:1fr;gap:34px}.project-grid{grid-template-columns:repeat(2, minmax(0, 1fr))}}@media (max-width: 680px){body{background:radial-gradient(circle at 96% 4%, rgba(121,169,139,0.14) 0 2px, transparent 2.5px) 0 0/18px 18px,linear-gradient(180deg, #fbfefc 0%, #f6fbf7 100%)}.nav-inner,.section-shell{width:min(100% - 28px, 1120px)}.nav-inner{min-height:64px}.brand{font-size:0.9rem;letter-spacing:0.09em}.nav-links{gap:14px}.nav-links a{font-size:0.84rem}.hero{grid-template-columns:1fr;min-height:auto;padding:54px 0 58px}.hero-photo-wrap{width:min(100%, 420px);justify-self:start;order:-1}.hero-photo{aspect-ratio:1.12}.logo-section{margin-bottom:70px;padding:30px 20px;border-radius:20px}.logo-grid{grid-template-columns:repeat(2, minmax(0, 1fr));gap:6px}.logo-card{min-height:116px}.about,.projects{margin-bottom:70px}.strengths-grid,.project-grid,.contact-card{grid-template-columns:1fr}.projects-heading{display:block}.projects-heading .text-link{display:inline-block;margin-top:8px}.contact-card{gap:26px;padding:30px 24px;border-radius:20px}}
