
    :root {
      --bg: #f4f1e9; --paper: #fffdf8; --ink: #192220; --muted: #66716a;
      --line: #d6d9d0; --accent: #cf583d; --accent2: #a5bdad;
      --dark: #172321; --green: #536d5c; --font: "DM Sans", "Arial", sans-serif;
      --mono: "Space Mono", "Courier New", monospace;
    }
    * { box-sizing: border-box; }
    html { scroll-behavior: smooth; scroll-padding-top: 92px; }
    body { margin: 0; background: var(--bg); font-family: var(--font); color: var(--ink); -webkit-font-smoothing: antialiased; }
    a { color: inherit; text-decoration: none; }
    button, input { font: inherit; }
    button { cursor: pointer; }
    a:focus-visible, button:focus-visible { outline: 3px solid var(--accent); outline-offset: 3px; }
    ::selection { background: #dfada0; color: #1b2724; }
    .wrap { max-width: 1260px; margin: 0 auto; padding: 0 44px; }
    .eyebrow { font: 700 10px/1.6 var(--mono); letter-spacing: .11em; text-transform: uppercase; }
    .tiny { font-size: 12px; color: var(--muted); }
    .accent { color: var(--accent); }
    header { position: sticky; top: 0; z-index: 100; background: rgba(244,241,233,.94); border-bottom: 1px solid var(--line); backdrop-filter: blur(20px); }
    .nav { min-height: 76px; display: flex; align-items: center; gap: 34px; }
    .logo { display: inline-flex; align-items: center; gap: 10px; margin-right: auto; white-space: nowrap; font-weight: 700; font-size: 15px; letter-spacing: -.04em; }
    .logo-box { width: 34px; height: 34px; background: var(--dark); color: #faf8f3; display: grid; place-items: center; border-radius: 8px; font: 700 12px var(--mono); letter-spacing: -.12em; }
    .nav-links { display: flex; align-items: center; gap: 27px; }
    .nav-links a { font-size: 12px; font-weight: 600; color: #4f5a53; transition: color .2s; }
    .nav-links a:hover { color: var(--accent); }
    .nav-cta { padding: 11px 15px; border-radius: 6px; background: var(--dark); color: white; font-size: 12px; font-weight: 700; border: 1px solid var(--dark); }
    .nav-cta:hover { background: #33463f; }
    .mobile-toggle { border: none; background: transparent; display: none; padding: 10px; font-size: 21px; }
    .design-ribbon { background: var(--accent); color: #fff; padding: 7px 0; }
    .design-ribbon .wrap { display: flex; justify-content: space-between; font: 700 9px var(--mono); letter-spacing: .06em; gap: 10px; }
    .hero { min-height: 685px; display: grid; grid-template-columns: 53% 47%; padding-top: 67px; padding-bottom: 74px; gap: 14px; align-items: center; }
    .hero-copy { padding-right: 34px; }
    .hero-intro { display: flex; align-items: center; gap: 13px; margin-bottom: 28px; color: #506159; }
    .status-dot { width: 8px; height: 8px; border-radius: 100%; background: var(--accent); box-shadow: 0 0 0 5px rgba(207,88,61,.11); }
    h1,h2,h3,p { margin-top: 0; }
    h1 { max-width: 690px; font-weight: 600; font-size: clamp(47px, 5.3vw, 78px); line-height: 1.045; letter-spacing: -.077em; margin: 0 0 26px; }
    h1 em { color: var(--accent); font-style: normal; }
    .hero-copy > p { max-width: 490px; color: #5d6961; font-size: 16px; line-height: 1.85; margin-bottom: 30px; }
    .btn-group { display: flex; flex-wrap: wrap; gap: 12px; }
    .btn { border: 1px solid var(--ink); padding: 14px 19px; font-size: 12px; font-weight: 700; border-radius: 7px; display: inline-flex; align-items: center; justify-content: center; gap: 20px; transition: transform .2s, background .2s; }
    .btn:hover { transform: translateY(-2px); }
    .btn-primary { background: var(--ink); color: white; }
    .btn-secondary { background: transparent; }
    .hero-bottom { margin-top: 64px; display: flex; align-items: center; gap: 15px; }
    .hero-bottom .line { height: 1px; width: 37px; background: var(--accent); }
    .hero-bottom span { font: 11px var(--mono); color: #6f7972; }
    .mosaic { height: 524px; display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: 1fr .83fr; gap: 13px; padding-left: 2px; }
    .tile { position: relative; border-radius: 10px; overflow: hidden; min-width: 0; min-height: 0; transition: transform .25s ease; isolation: isolate; }
    .tile:hover { transform: translateY(-4px); }
    .tile::after { content: ''; position:absolute; inset:0; border: 1px solid rgba(20,30,26,.08); border-radius:inherit; pointer-events:none; }
    .tile-label { position: absolute; bottom: 13px; left: 14px; z-index: 5; display: inline-flex; align-items: center; gap: 8px; background: rgba(255,255,250,.92); backdrop-filter: blur(8px); border-radius: 4px; padding: 8px 10px; font: 700 10px var(--mono); }
    .tile-number { color: #a0a89d; }
    .tile-code { background: #25332e; color: #acbaa9; padding: 24px 19px; }
    .tile-code:before { content: ''; position: absolute; inset: 0; background: radial-gradient(circle at 92% 7%, rgba(142,185,144,.21), transparent 55%); }
    .code-top { display: flex; align-items: center; gap: 5px; margin-bottom: 30px; }
    .code-top i { width: 5px; height: 5px; background: #728779; border-radius: 50%; }
    .code-lines { position: relative; z-index: 1; font: 10px/2.2 var(--mono); white-space: nowrap; opacity: .89; }
    .code-lines .mint { color: #b6d8b9; } .code-lines .orange { color: #e6a28c; }
    .code-lines .indent { padding-left: 15px; }
    .tile-paper { background: #d7dcd2; display:grid;place-items:center; }
    .paper-sheet { width: 71%; height: 88%; transform: rotate(9deg) translateY(-10px); background: #f9f7f0; box-shadow: -12px 13px 21px rgba(33,49,43,.14); padding: 25px 16px; }
    .paper-sheet .paper-title { font: 700 10px/1.45 var(--mono); letter-spacing: -.03em; color: #38473d; max-width: 145px; margin-bottom: 18px; }
    .paper-line { height: 3px; background: #d3d8cf; margin: 7px 0; }
    .paper-line.short { width: 73%; }
    .paper-chart { height: 60px; margin-top: 15px; border-left: 1px solid #9ea9a2; border-bottom: 1px solid #9ea9a2; position: relative; }
    .paper-chart span { position:absolute; height: 2px; background: #77918b; transform-origin:left; }
    .paper-chart span:nth-child(1) { width: 48%; top: 43px; left: 3px; transform:rotate(-15deg); }
    .paper-chart span:nth-child(2) { width: 52%; top: 30px; left: 46%; transform:rotate(-35deg); }
    .tile-print { background: #c4d3c7; display: grid; place-items: center; }
    .print-plane { width: 165px; height: 119px; background: #b0c3b4; position: relative; transform: skewY(-23deg) rotate(-3deg); border: 1px solid #91a996; box-shadow: 15px 15px 0 #9cb6a3, 15px 15px 0 1px #89a692; }
    .print-plane::before { content:''; position:absolute; inset: 20px 38px; border: 10px solid #426859; border-radius: 14px; box-shadow: 9px 9px 0 #7c9e88, inset 6px 6px 0 rgba(255,255,255,.2); }
    .print-plane::after { content:''; position:absolute; inset: 43px 63px; background:#b0c3b4; border-radius:4px; }
    .print-grid { position:absolute; inset:0; background-image: linear-gradient(rgba(41,72,52,.07) 1px, transparent 1px), linear-gradient(90deg, rgba(41,72,52,.07) 1px, transparent 1px); background-size:20px 20px; }
    .tile-art { background: #e4c9aa; }
    .tile-art .paint-one { position: absolute; top: -38px; left: 18%; width: 73%; height: 123%; background: #7c5946; border-radius: 35% 70% 39% 55%; transform:rotate(-24deg); filter: blur(.4px); }
    .tile-art .paint-two { position:absolute; top: -2%; left: 34%; width: 37%; height: 118%; background: #b78461; border-radius: 53% 27% 65% 42%; transform: rotate(24deg); box-shadow: -8px 8px 0 #a26f50; }
    .tile-art .paint-three { position:absolute; top: 24%; left: 16%; width: 70%; height: 25%; background: #d5a478; border-radius: 45%; transform:rotate(-30deg); filter:blur(2px); }
    .tile-art .paint-four { position:absolute; top: 2%; left: 65%; width: 14%; height: 77%; background: #4b3e37; border-radius: 80%; transform:rotate(24deg); opacity:.7; }
    .section { padding: 105px 0; }
    .section-head { display: flex; gap: 38px; justify-content: space-between; align-items: end; margin-bottom: 42px; }
    .section-head h2 { font-size: clamp(36px, 4vw, 58px); line-height: 1.08; font-weight: 600; letter-spacing: -.069em; margin: 14px 0 0; max-width: 800px; }
    .section-head p { max-width: 320px; font-size: 14px; line-height: 1.8; color: var(--muted); margin: 0; }
    .top-rule { border-top: 1px solid var(--line); padding-top: 14px; }
    .top-rule .eyebrow { color: var(--accent); }
    .career { background: #e8ece6; }
    .career-shell { display: grid; grid-template-columns: minmax(0,1fr) 1.4fr; gap: 80px; align-items:start; }
    .career-intro h2 { font-size: clamp(38px,4vw,55px); line-height:1.13; letter-spacing:-.068em; margin-top:15px; margin-bottom:19px; }
    .career-intro p { color: #586860; line-height:1.85; font-size:15px; max-width: 350px; }
    .career-rows { border-top: 1px solid #c4ccc1; }
    .career-row { padding: 23px 0; display:grid; grid-template-columns: 1.1fr 1fr 22px; gap:12px; align-items:center; border-bottom: 1px solid #c4ccc1; }
    .career-row h3 { font-size: 18px; font-weight: 600; margin: 0 0 5px; letter-spacing:-.03em; }
    .career-row span { color: #6a786f; font-size: 12px; }
    .career-row .role { color:#42534b; font-size:13px; }
    .career-row .arrow { font-size: 20px; color:var(--accent); }
    .small-link { display: inline-flex; gap:13px; align-items:center; color:var(--ink); font-size:12px; font-weight:700; padding-bottom:8px; border-bottom:1px solid var(--ink); margin-top:20px; }
    .project-grid { display:grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap:16px; }
    .project-card { border: 1px solid var(--line); border-radius:9px; background: #faf8f2; overflow:hidden; }
    .project-graphic { height: 246px; position: relative; overflow:hidden; display: grid; place-items:center; }
    .project-meta { padding: 21px 22px 24px; }
    .project-meta .eyebrow { color:#8a948b; font-size:9px; }
    .project-meta h3 { font-size:20px; letter-spacing:-.04em; margin:9px 0; }
    .project-meta p { margin:0; color:var(--muted); font-size:13px; line-height:1.7; min-height:45px; }
    .app-graphic { background:#dee5da; }
    .phone { height:195px; width:100px; border:6px solid #27302d; background:#fbfaf5; border-radius:24px; box-shadow:18px 14px 0 rgba(37,51,46,.11); padding:18px 9px 9px; transform:rotate(-10deg) translateY(12px); }
    .notch { position:absolute; width:39px; height:6px; background:#27302d; border-radius:8px; top:35px; left:calc(50% - 30px); transform:rotate(-10deg); }
    .app-sun { width:40px; height:40px; background:#d7774b; border-radius:100%; margin: 6px auto 12px; }
    .app-line { height:6px; background:#d1ddd0; border-radius:7px; margin:8px 0; }
    .app-line.half { width:63%; }
    .mesh-graphic { background:#d6e3dc; }
    .mesh-platform { transform:rotate(-30deg) skewY(19deg); width:145px; height:145px; background:repeating-linear-gradient(0deg,#8caa99 0px,#8caa99 2px,#bbd0c0 2px,#bbd0c0 8px); box-shadow: 11px 13px 0 #72917f, 22px 25px 0 #91af9b; border-radius:16px; border:3px solid #527c64; }
    .research-graphic { background:#dfd8ca; }
    .book { width:160px; height:190px; transform:rotate(-9deg) translateY(14px); background:#eae9dd; box-shadow: 14px 12px 0 #b0b5a8, 22px 21px 28px rgba(27,36,31,.14); padding:26px 21px; color:#45574d; }
    .book .eyebrow { font-size:9px; }
    .book h4 { font:700 17px/1.4 var(--font); margin:28px 0 20px; letter-spacing:-.04em; }
    .book-rule { height:2px; width:60px; background:#b18b6c; }
    .research-block { background:var(--dark); color:white; padding:64px; border-radius:12px; display:grid; grid-template-columns:1.05fr .95fr; gap:50px; align-items:center; position:relative; overflow:hidden; }
    .research-block::after { content:'∑'; position:absolute; font-size:390px; font-family:Georgia,serif; right:-17px; top:-130px; opacity:.038; pointer-events:none; }
    .research-block .eyebrow { color:#9eb5a6; }
    .research-block h2 { max-width:560px; font-size:clamp(37px,4vw,56px); margin:18px 0 17px; letter-spacing:-.065em; line-height:1.12; }
    .research-block p { color:#b4c2b8; max-width:455px; line-height:1.8; font-size:14px; }
    .research-aside { border:1px solid #52635a; padding:26px; border-radius:8px; position:relative; z-index:2; }
    .research-aside .num { color:#e4eee1; font-size:49px; letter-spacing:-.07em; line-height:1; margin:12px 0; font-weight:600; }
    .research-aside p { font-size:12px; margin:9px 0 0; }
    .research-tags { display:flex; flex-wrap:wrap; gap:8px; margin-top:19px; }
    .research-tags span { border:1px solid #52635a; border-radius:4px; color:#d5ded7; font-size:11px; padding:8px 10px; }
    .art-gallery { display:grid; grid-template-columns:1.25fr .75fr .75fr; gap:16px; }
    .art-piece { min-height: 345px; border-radius:8px; position:relative; overflow:hidden; background:#baa58f; }
    .art-piece > span { position:absolute; bottom:15px; left:15px; z-index:2; font:700 10px var(--mono); letter-spacing:.04em; background:rgba(255,254,248,.88); border-radius:4px; padding:9px 11px; }
    .art-piece.one { background: radial-gradient(ellipse at 48% 40%, #cba37f 0 19%, transparent 20%), radial-gradient(ellipse at 46% 69%, #a0654b 0 30%, transparent 31%), linear-gradient(120deg,#413f36,#8a7055 52%, #b69a7a); }
    .art-piece.one::before { content:''; width:35%; height:40%; position:absolute; top:11%; left:32%; background:linear-gradient(110deg,#74543f 5%,#dfb28b 48%,#846449 90%); border-radius:46% 52% 50% 43%; box-shadow: 0 -20px 0 4px #393a32; transform:rotate(-6deg); filter:blur(2px); }
    .art-piece.two { background:linear-gradient(150deg,#a9b09c 10%,#6a7b6e 28%,#d1b78e 54%,#79785b 80%); }
    .art-piece.two::before { content:'';position:absolute;inset:36% -20% 13%;background:radial-gradient(ellipse at 60% 20%, #9ea88d 0 14%, transparent 15%), linear-gradient(25deg,#465e50 15%,#758169 55%,#d1b68b); transform:rotate(-7deg); filter:blur(3px); }
    .art-piece.three { background:linear-gradient(45deg,#cc9976 0 22%,#805942 22% 45%,#dfb98c 45% 60%,#4f544a 60% 80%,#ac8464 80%); }
    .art-piece.three::before { content:'';position:absolute;left:15%;top:21%;width:90%;height:48%;background:radial-gradient(ellipse at center,#d4ae7b,#745446 65%, transparent 67%);border-radius:90%;filter:blur(13px); }
    .note-under { margin-top:14px; font-size:11px; color:#92998e; }
    .writing { background:#e8ece6; }
    .writing-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:15px; }
    .writing-entry { background:#faf8f2; border:1px solid #d0d6cb; border-radius:8px; padding:30px; min-height:190px; }
    .writing-entry .symbol { font-size:28px; font-weight:700; margin-bottom:25px; display:block; }
    .writing-entry h3 { font-size:17px; margin:0 0 9px; letter-spacing:-.03em; }
    .writing-entry p { font-size:13px; line-height:1.7; color:var(--muted); margin:0; }
    .ai-section { padding:110px 0; }
    .ai-panel { background:#202d28; color:#fbfaf5; border-radius:13px; display:grid; grid-template-columns:1fr 1fr; gap:50px; padding:65px; }
    .ai-panel h2 { font-size:clamp(37px,4vw,56px); line-height:1.12; letter-spacing:-.065em; margin:14px 0 17px; }
    .ai-panel p { color:#b8c5bc; font-size:14px; line-height:1.8; max-width:480px; }
    .ai-panel .eyebrow { color:#a7bdab; }
    .ai-chips { display:flex; flex-wrap:wrap; gap:8px; margin-top:34px; }
    .ai-chip { background:transparent; border:1px solid #667a6d; color:#e9f0e9; border-radius:30px; padding:11px 13px; text-align:left; font-size:11px; }
    .ai-chip:hover, .ai-chip.active { background:#445e4d; border-color:#7d9985; }
    .chat-window { background:#f8f7f1; color:var(--ink); border-radius:10px; padding:0; overflow:hidden; min-height:340px; box-shadow:0 16px 55px rgba(5,15,10,.18); display:flex; flex-direction:column; }
    .chat-header { display:flex; align-items:center; gap:10px; padding:16px 18px; border-bottom:1px solid #e0e4db; font-size:12px; font-weight:700; }
    .bot-avatar { width:26px; height:26px; border-radius:8px; background:#d6e5d7; display:grid; place-items:center; font:700 11px var(--mono); }
    .demo-chip { margin-left:auto; padding:5px 6px; color:#7a8478; border:1px solid #dbe1d8; border-radius:4px; font:9px var(--mono); }
    .chat-messages { flex:1; display:flex; flex-direction:column; gap:13px; padding:20px 18px; font-size:12px; line-height:1.7; }
    .chat-user { align-self:flex-end; background:#e1e8de; max-width:90%; padding:11px 12px; border-radius:10px 10px 2px 10px; }
    .chat-bot { align-self:flex-start; max-width:95%; display:flex; align-items:start; gap:9px; }
    .chat-bot .bot-avatar { flex-shrink:0; }
    .chat-bot .message { padding:8px 0; color:#4c5a51; }
    .chat-bottom { border-top:1px solid #e0e4db; padding:14px 18px; color:#87938a; font-size:11px; }
    .footer { background:#14201b; padding:64px 0 34px; color:#f4f4ec; }
    .footer-grid { display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:35px; margin-bottom:60px; }
    .footer h2 { font-size:33px; letter-spacing:-.06em; margin:12px 0; }
    .footer p { font-size:13px; line-height:1.8; color:#9daea1; max-width:310px; }
    .footer ul { padding:0; margin:12px 0 0; list-style:none; }
    .footer li { margin:11px 0; font-size:13px; color:#c4d0c5; }
    .footer li a:hover { color:white; text-decoration:underline; }
    .footer-bottom { border-top:1px solid #34443a; padding-top:23px; display:flex; justify-content:space-between; gap:15px; color:#8c9e91; font:10px var(--mono); }
    .modal-backdrop { position:fixed; inset:0; background:rgba(17,30,24,.73); z-index:300; display:none; align-items:center; justify-content:center; padding:20px; }
    .modal-backdrop.visible { display:flex; }
    .modal { position:relative; background:#f9f7f0; color:var(--ink); border-radius:12px; max-width:440px; padding:40px; }
    .modal h3 { font-size:28px; letter-spacing:-.05em; margin:12px 0; }
    .modal p { color:var(--muted); font-size:14px; line-height:1.75; }
    .modal-close { position:absolute; right:14px; top:13px; border:0; background:transparent; font-size:25px; color:#657369; }
    @media (max-width:1080px) {
      .wrap { padding:0 28px; } .nav { gap:18px; } .nav-links { gap:15px; }
      .hero { grid-template-columns:52% 48%; } .hero-copy { padding-right:10px; }
      h1 { font-size: 59px; } .mosaic { height:450px; }
      .career-shell { gap:40px; } .ai-panel { padding:45px; gap:30px; }
    }
    @media (max-width:780px) {
      .wrap { padding:0 21px; } .nav { min-height:66px; }
      .mobile-toggle { display:block; margin-left:0; }
      .nav-links { display:none; position:absolute; top:66px; left:0; right:0; background:#f4f1e9; padding:20px 24px; border-bottom:1px solid var(--line); box-shadow:0 15px 20px rgba(10,20,10,.08); }
      .nav-links.open { display:flex; flex-direction:column; align-items:stretch; gap:0; }
      .nav-links a { padding:13px 6px; font-size:14px; }
      .nav-cta { padding:10px 12px; }
      .hero { padding-top:55px; padding-bottom:70px; display:flex; flex-direction:column; align-items:stretch; gap:48px; min-height:initial; }
      h1 { max-width:580px; font-size:clamp(50px,9vw,72px); }
      .hero-bottom { margin-top:38px; }
      .mosaic { height:475px; padding:0; }
      .section { padding:77px 0; } .section-head { flex-direction:column; align-items:start; gap:17px; }
      .career-shell { grid-template-columns:1fr; gap:22px; }
      .project-grid { grid-template-columns:repeat(2,1fr); }
      .project-grid .project-card:last-child { grid-column:span 2; }
      .research-block { grid-template-columns:1fr; gap:18px; padding:42px 34px; }
      .art-gallery { grid-template-columns:1fr 1fr; } .art-piece.one { grid-column:span 2; }
      .writing-grid { grid-template-columns:1fr; } .writing-entry { min-height:initial; }
      .ai-panel { grid-template-columns:1fr; }
      .footer-grid { grid-template-columns:1fr 1fr; } .footer-grid > div:first-child { grid-column:span 2; }
    }
    @media (max-width:520px) {
      .logo { font-size:13px; } .logo-box { width:31px; height:31px; }
      .design-ribbon .wrap { font-size:8px; } .design-ribbon .wrap span:last-child { display:none; }
      h1 { font-size:50px; } .hero-intro { font-size:9px; }
      .hero-copy > p { font-size:14px; }
      .mosaic { height:345px; gap:8px; }
      .tile-label { font-size:8px; padding:6px; left:7px; bottom:7px; }
      .tile-code { padding:15px 11px; } .code-lines { font-size:7px; line-height:2.1; }
      .code-top { margin-bottom:17px; } .paper-sheet { padding:16px 10px; }
      .paper-sheet .paper-title { font-size:8px; margin-bottom:7px; } .paper-line { margin:4px 0; }
      .paper-chart { height:25px; margin-top:8px; }
      .print-plane { transform:scale(.6) skewY(-23deg) rotate(-3deg); }
      .section-head h2 { font-size:41px; }
      .project-grid { grid-template-columns:1fr; } .project-grid .project-card:last-child { grid-column:auto; }
      .project-graphic { height:230px; }
      .career-row { grid-template-columns:1fr 25px; row-gap:7px; }
      .career-row .role { grid-column:1; grid-row:2; } .career-row .arrow { grid-column:2; grid-row:1; }
      .research-block { padding:33px 25px; }
      .research-block h2, .ai-panel h2 { font-size:40px; }
      .art-gallery { gap:9px; } .art-piece { min-height:220px; } .art-piece.one { min-height:300px; }
      .ai-section { padding:80px 0; } .ai-panel { padding:33px 22px; gap:30px; }
      .footer-grid { gap:20px; } .footer-bottom { flex-direction:column; }
    }
    @media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { animation-duration:.01ms !important; transition-duration:.01ms !important; } }

    /* V2: portrait, language proficiency and selected certifications */
    .hero-identity { display:flex; align-items:center; gap:18px; margin:0 0 31px; }
    .hero-headshot { flex-shrink:0; width:108px; height:118px; border-radius:11px; overflow:hidden; background:#d9ddd6; box-shadow:0 10px 26px rgba(25,36,31,.12); border:3px solid rgba(255,255,255,.78); transform:rotate(-2deg); }
    .hero-headshot img { width:100%;height:100%;object-fit:cover;object-position: center 30%;display:block;transform:scale(1.03); }
    .identity-info { display:flex;flex-direction:column;gap:6px;min-width:0; }
    .identity-name { color:var(--accent);font-size:9px;letter-spacing:.07em; }
    .identity-dot { padding:0 2px; }
    .identity-info strong { font-size:16px;line-height:1.3;letter-spacing:-.03em; }
    .identity-info>span:last-child { color:var(--muted);font-size:12px; }
    .hero-bottom { margin-top:39px; }
    .credentials { background:#f4f1e9; padding-top:90px;padding-bottom:80px; }
    .credentials-grid { display:grid;grid-template-columns:1fr 1fr;gap:18px; }
    .credential-card { min-width:0; border:1px solid #d4dbd1; background:#fffcf6; border-radius:12px;padding:31px 33px 30px; }
    .credential-card-top { display:flex; align-items:center; justify-content:space-between; gap:12px; }
    .credential-symbol { color:#bfd0be; font:600 30px/1 var(--mono); }
    .credential-card h3 { font-size:31px;font-weight:600;letter-spacing:-.055em;margin:5px 0 8px; }
    .credential-intro { color:var(--muted);font-size:12px;line-height:1.7;margin-bottom:25px;min-height:41px; }
    .language-list { display:flex;flex-direction:column; }
    .language-row { border-top:1px solid #e5e8df;padding:13px 0;display:grid;grid-template-columns:minmax(108px,1fr) 95px 96px;gap:5px;align-items:center; }
    .language-row:last-child { border-bottom:1px solid #e5e8df; }
    .lang-name { font-size:13px;font-weight:600; }
    .lang-level { color:#77837b;font-size:11px; }
    .lang-dots { color:var(--accent);font-size:14px;letter-spacing:2px;white-space:nowrap; }
    .lang-dots i { font-style:normal;color:#d8dfd6; }
    .cert-list { display:flex;flex-direction:column; }
    .cert-row { border-top:1px solid #e5e8df;padding:14px 0;display:grid;grid-template-columns:43px minmax(0,1fr) 12px;gap:13px;align-items:start; }
    .cert-row:last-child { border-bottom:1px solid #e5e8df; }
    .cert-year { font:700 10px/1.6 var(--mono);color:var(--accent);padding-top:2px; }
    .cert-row strong { display:block;font-size:13px;line-height:1.5;font-weight:650;letter-spacing:-.02em; }
    .cert-row div>span { display:block;color:#7a867d;font-size:11px;margin-top:4px; }
    .cert-mark { color:#b9c5b8;font-size:15px; }
    .cert-footnote { color:#9aa29a;font-size:10px;line-height:1.55;margin:15px 0 0; }
    @media(max-width:1080px) { .hero-headshot { width:92px;height:101px; } .identity-info strong { font-size:14px; } .credentials-grid { gap:13px; } .credential-card { padding:26px; } .language-row { grid-template-columns:minmax(90px,1fr) 76px 86px; } .lang-dots { font-size:12px;letter-spacing:1.5px; } }
    @media(max-width:780px) { .hero-identity { margin-bottom:32px; } .credentials { padding-top:70px;padding-bottom:72px; } .credentials-grid { grid-template-columns:1fr; } .credential-card { padding:30px; } .language-row { grid-template-columns:minmax(120px,1fr) 115px 100px; } .lang-dots { font-size:14px;letter-spacing:2px; } }
    @media(max-width:520px) { .hero-identity { gap:14px; } .hero-headshot { width:88px;height:99px; } .identity-name { font-size:8px; } .identity-info strong { font-size:13px; } .identity-info>span:last-child { font-size:11px; } .credential-card { padding:22px; } .credential-card h3 { font-size:27px; } .credential-intro { min-height:0; } .language-row { grid-template-columns:minmax(0,1fr) 73px 82px;gap:5px; } .lang-name { font-size:12px; } .lang-level { font-size:10px; } .lang-dots { font-size:12px;letter-spacing:1.3px; } }

    /* V3: external credential and academic profiles */
    .source-link { display:flex;align-items:center; gap:13px; border:1px solid #c5d5c9; border-radius:9px; padding:15px 14px; background:#e9f0e9; transition:transform .2s, background .2s; }
    .source-link:hover { background:#deeadf; transform:translateY(-2px); }
    .source-icon { flex:0 0 36px; height:36px; display:grid;place-items:center; border-radius:9px;background:#335949;color:#fff;font:700 17px var(--font); }
    .source-link>span:nth-child(2) { min-width:0; flex:1; }
    .source-link strong { display:block;font-size:12px;line-height:1.45; }
    .source-link small { display:block;color:#5c7463;margin-top:4px;font-size:10px;line-height:1.5; }
    .source-arrow { font-size:20px;color:#496c55; }
    .cert-footnote { margin-top:11px; }
    .research-block { overflow:hidden; }
    .research-copy { position:relative;z-index:2; }
    .scholar-primary { color:#f1f2e9;border-color:#9fb1a2; }
    .scholar-card { margin-top:23px;border-top:1px solid #53655b;padding-top:19px;position:relative;z-index:2; }
    .scholar-card-header { display:flex;gap:13px;align-items:center; }
    .scholar-mark { width:42px;height:42px;border-radius:8px;background:#e4eee1;color:#25372b;font:700 22px Georgia,serif;display:grid;place-items:center;flex:none; }
    .scholar-card-header strong { display:block;font-size:14px; }
    .scholar-card-header small { display:block;font-size:10px;margin-top:5px;color:#9eb6a5;line-height:1.45; }
    .scholar-card>p { color:#a9b8ad!important; font-size:11px!important;line-height:1.7; margin:13px 0 10px!important; }
    .scholar-card>a { display:inline-flex;gap:9px;align-items:center;color:#f1f2e9; font-size:11px;font-weight:700;padding:4px 0 6px;border-bottom:1px solid #9eb6a5; }
    .scholar-card>a:hover,.scholar-primary:hover {color:white;border-color:white;}
    @media(max-width:780px) { .scholar-card { margin-top:18px; } }

    /* V4: a real portrait as the dominant visual; four mini navigation tiles retain the original aesthetic. */
    .hero-identity { margin-bottom:36px; }
    .identity-info { gap:8px; }
    .identity-info strong { font-size:20px; }
    .mosaic {
      grid-template-columns: minmax(0,1.55fr) minmax(0,.95fr);
      grid-template-rows:repeat(4,minmax(0,1fr));
      gap:11px;
      padding-left:0;
    }
    .mosaic .tile-portrait { grid-column:1; grid-row:1 / 5; background:#e0e3dd; }
    .tile-portrait img { display:block;width:100%;height:100%;object-fit:cover;object-position:50% 35%; }
    .tile-portrait::before { content:"";position:absolute;inset:55% 0 0;background:linear-gradient(0deg,rgba(15,26,23,.82),transparent);z-index:1;pointer-events:none; }
    .portrait-caption { position:absolute;bottom:20px;left:20px;right:18px;color:#fff;z-index:2;display:flex;flex-direction:column;gap:7px; }
    .portrait-caption .eyebrow { font-size:10px;color:#f7c5b4; }
    .portrait-caption strong { font-size:19px;letter-spacing:-.03em;line-height:1.22; }
    .mosaic .tile:not(.tile-portrait) { min-height:0; }
    .mosaic .tile-code { padding:13px 12px; }
    .mosaic .code-top { margin-bottom:7px; }
    .mosaic .code-lines { font-size:8px;line-height:1.5; }
    .mosaic .code-lines .indent:nth-child(n+4) { display:none; }
    .mosaic .tile-paper .paper-sheet { transform:rotate(8deg) scale(.88);transform-origin:50% 10%; }
    .mosaic .tile-label { left:9px;bottom:9px;font-size:9px;gap:5px;padding:6px 7px;white-space:nowrap;max-width:calc(100% - 18px); }
    .mosaic .tile-number { font-size:8px; }
    @media (max-width:1080px) {
      .mosaic { grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); }
    }
    @media (max-width:780px) {
      .mosaic { height:510px;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr); }
    }
    @media (max-width:520px) {
      .identity-info strong { font-size:16px; }
      .hero-identity { margin-bottom:27px; }
      .mosaic { height:395px;gap:8px;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr); }
      .mosaic .tile-code { padding:10px 8px; }
      .mosaic .code-lines { font-size:7px; }
      .mosaic .tile-label { font-size:8px;left:6px;bottom:6px;padding:5px;max-width:calc(100% - 12px); }
      .portrait-caption { bottom:14px;left:13px;right:10px; }
      .portrait-caption .eyebrow { font-size:8px; }
      .portrait-caption strong { font-size:15px; }
    }
  

/* v5: multipage editorial system */
.inner-link { display:inline-flex; align-items:center; gap:10px; padding-bottom:7px; border-bottom:1px solid currentColor; font-weight:700; font-size:12px; }
.inner-link:hover,.small-link:hover { color:var(--accent); border-color:var(--accent); }
.career-row { text-decoration:none; transition:background .2s,padding .2s; }
.career-row[href]:hover { background:rgba(255,255,255,.38); padding-left:11px; }
.project-card { transition:transform .25s ease,box-shadow .25s ease; }
.project-card[href] { display:block; }
.project-card[href]:hover { transform:translateY(-5px); box-shadow:0 15px 30px rgba(32,48,36,.08); }
.art-gallery a.art-piece { display:block; }
.art-gallery a.art-piece:hover { filter:saturate(1.2); }
.nav-links a[aria-current="page"] { color:var(--accent); }
.sub-nav { display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin:26px 0 45px; }
.sub-nav a { border:1px solid var(--line); padding:9px 13px; border-radius:30px; font-size:11px; font-weight:700; transition:background .2s; }
.sub-nav a:hover { background:#e4e9e1; }
.sub-nav a[aria-current="page"] { background:var(--dark);border-color:var(--dark);color:#fff; }
.page-hero { padding-top:78px; padding-bottom:72px; border-bottom:1px solid var(--line); }
.page-hero .backlink { color:var(--accent);font:700 10px var(--mono);letter-spacing:.08em; }
.page-hero h1 { margin:22px 0 23px;font-size:clamp(48px,6vw,85px);line-height:1.02;max-width:1020px; }
.page-hero .lede { max-width:720px; font-size:17px;line-height:1.85;color:#53645a; }
.page-hero .eyebrow { color:var(--accent); }
.page-meta { border-top:1px solid var(--line);padding-top:22px;margin-top:42px;display:flex;flex-wrap:wrap;gap:20px 50px; }
.page-meta span { font:700 10px/1.6 var(--mono);color:#708076;letter-spacing:.03em; }
.page-section { padding:84px 0; }
.page-section-soft { background:#e8ece6; }
.page-section h2 { letter-spacing:-.063em;line-height:1.13;font-size:clamp(34px,4vw,56px); }
.page-section .eyebrow { color:var(--accent); }
.split-head { display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:32px; }
.split-head > p { color:var(--muted);max-width:380px;font-size:13px;line-height:1.8; }
.page-intro-tiles { display:grid;grid-template-columns:repeat(3,1fr);gap:14px; }
.intro-tile { border:1px solid var(--line);border-radius:9px;background:var(--paper);padding:25px;min-height:145px; }
.intro-tile b {display:block;font-size:32px;letter-spacing:-.07em;margin:14px 0 4px;}
.intro-tile span { font:700 10px var(--mono);color:#7b897d; }
.intro-tile p {font-size:12px;color:var(--muted);margin-top:11px;line-height:1.65;}
/* Career explorer */
.career-explorer { display:grid;grid-template-columns:minmax(260px,.95fr) minmax(0,1.4fr);gap:34px;align-items:start; }
.career-picker { border-top:1px solid #c7d0c5;max-height:790px;overflow:auto; }
.job-choice { display:grid;grid-template-columns:78px 1fr 14px;gap:10px;width:100%;text-align:left;background:transparent;border:0;border-bottom:1px solid #c7d0c5;padding:19px 12px 19px 0;color:var(--ink); }
.job-choice:hover { background:rgba(255,255,255,.45); }
.job-choice.active { background:#d7e1d7;padding-left:11px; border-left:3px solid var(--accent); }
.job-year {font:700 10px/1.7 var(--mono);color:#7d897d;}
.job-choice strong {display:block;font-size:16px;letter-spacing:-.04em;margin-bottom:5px;}
.job-choice small {display:block;color:#607368;font-size:11px;line-height:1.6;}
.job-choice .job-arr {color:var(--accent);font-size:18px;}
.career-detail { background:var(--paper);border:1px solid #d0d9cf;border-radius:11px;min-height:520px;padding:38px;position:sticky;top:100px; }
.detail-top { display:flex;justify-content:space-between;gap:25px;align-items:start;margin-bottom:30px; }
.detail-top .eyebrow { color:var(--accent); }
.detail-top .year-marker { font:700 11px var(--mono);color:#879486; }
.career-detail h2 {font-size:clamp(30px,3vw,44px);margin:0 0 12px;}
.career-detail h3 {font-size:16px;line-height:1.55;color:#577062;font-weight:600;margin-bottom:25px;}
.career-detail p {color:#5f7065;font-size:14px;line-height:1.9;}
.career-detail ul {margin:20px 0 25px;padding-left:18px;}
.career-detail li {padding:0 0 12px 4px;font-size:13px;line-height:1.75;color:#45584d;}
.tag-cloud {display:flex;flex-wrap:wrap;gap:8px;margin:20px 0;}
.tag-cloud span {border:1px solid #cad6c8;border-radius:4px;padding:8px 10px;font-size:10px;color:#536958;background:#edf3e9;}
.academic-strip { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px; }
.academic-item {border-top:1px solid var(--line);padding:21px 5px 21px 0;}
.academic-item b {font-size:16px;letter-spacing:-.03em;display:block;margin:8px 0;}
.academic-item p {font-size:12px;line-height:1.7;color:var(--muted);}
/* Galleries and application page */
.showcase-grid {display:grid;grid-template-columns:1.1fr .9fr;gap:16px;align-items:stretch;}
.showcase-panel {border-radius:11px;overflow:hidden;min-height:460px;position:relative;}
.showcase-light {background:#d5e2d5;display:grid;place-items:center;}
.showcase-dark {background:#22342d;color:#e9f0e8;padding:44px;display:flex;flex-direction:column;justify-content:space-between;}
.showcase-dark h2 {font-size:clamp(37px,4.3vw,60px);margin:22px 0;}
.showcase-dark p {max-width:440px;color:#bbcbbd;font-size:14px;line-height:1.9;}
.device {width:225px;height:385px;background:#222c29;border-radius:42px;border:10px solid #283b33;box-shadow:26px 26px 0 #afc2b1,0 30px 45px rgba(36,67,52,.15); transform:rotate(-7deg);padding:13px;}
.device-screen {height:100%;background:#f7f5ef;border-radius:27px;padding:20px 14px;overflow:hidden;}
.device-pill {width:62px;height:15px;background:#26332c;border-radius:15px;margin:-12px auto 30px;}
.device-title {font-size:21px;letter-spacing:-.06em;line-height:1.1;margin-bottom:15px;}
.device-dot {width:60px;height:60px;background:var(--accent);border-radius:50%;margin:19px auto;}
.device-line {height:8px;background:#d9e5d8;border-radius:6px;margin:11px 0;}
.device-line.short {width:66%;}
.device-card {height:60px;border:1px solid #cad7c8;background:white;border-radius:11px;margin-top:15px;}
.preview-stamp {position:absolute;bottom:19px;left:19px;padding:9px 12px;border-radius:5px;background:rgba(255,255,255,.88);font:700 9px var(--mono);letter-spacing:.05em;z-index:2;}
.case-grid {display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.case-card {background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:28px;min-height:210px;}
.case-card .num {font:700 11px var(--mono);color:var(--accent);}
.case-card h3 {font-size:20px;letter-spacing:-.04em;margin:25px 0 12px;}
.case-card p {font-size:13px;color:var(--muted);line-height:1.75;}
.empty-visual {height:235px;background:#dee7dc;border-radius:8px;display:grid;place-items:center;position:relative;overflow:hidden;}
.empty-visual::before,.empty-visual::after {content:'';position:absolute;border:1px solid rgba(58,100,75,.25);width:75%;height:60%;transform:rotate(-12deg);border-radius:14px;}
.empty-visual::after {transform:rotate(10deg);width:67%;height:65%;}
.empty-visual span {color:#5a7461;font:700 10px var(--mono);z-index:1;background:#dce8db;padding:10px;}
/* 3d */
.filament-demo {height:460px;min-height:420px;border-radius:12px;background:#d6e2d6;position:relative;display:grid;place-items:center;overflow:hidden;}
.print-base {position:absolute;width:290px;height:240px;transform:rotate(-23deg) skewY(12deg);border-radius:24px;background:repeating-linear-gradient(0deg,#b4cbb7 0px,#b4cbb7 9px,#9cb8a2 9px,#9cb8a2 11px);border:2px solid #6d947b;box-shadow:21px 20px 0 #71957e,21px 22px 0 #51765c;}
.print-base:before {content:'';position:absolute;inset:30px;border:26px solid #4f7861;border-radius:28px;box-shadow:inset 8px 8px 0 #aac6b0, 8px 8px 0 #8aaa93;}
.print-base:after {content:'';position:absolute;inset:88px 110px;background:#b4cbb7;border-radius:6px;}
.print-number {position:absolute;top:25px;left:27px;font-size:72px;line-height:1;letter-spacing:-.08em;font-weight:600;color:#315342;}
.print-caption {position:absolute;bottom:23px;right:22px;font:700 10px var(--mono);color:#456652;}
.feature-side {border-radius:12px;background:var(--dark);color:white;padding:42px;display:flex;flex-direction:column;justify-content:center;}
.feature-side h2 {font-size:clamp(37px,4vw,55px);margin:24px 0;}
.feature-side p {font-size:14px;line-height:1.9;color:#b7c8b9;}
.feature-side .tag-cloud span {border-color:#4d6656;background:transparent;color:#d6e4d8;}
/* Art */
.gallery-grid {display:grid;grid-template-columns:1.15fr .85fr .85fr;gap:15px;}
.gallery-tile {min-height:480px;border-radius:9px;overflow:hidden;position:relative;}
.gallery-tile:nth-child(2) {min-height:480px;}
.gallery-art-1 {background:linear-gradient(129deg,#514236 4%,#aa815c 32%,#d3a984 47%,#695743 65%,#323c36 100%);}
.gallery-art-1:before {content:'';position:absolute;left:25%;top:16%;width:52%;height:43%;border-radius:46% 50% 48% 43%;transform:rotate(-8deg);background:linear-gradient(120deg,#8c583c,#d7ab85 45%,#9f6847 75%,#73513b);filter:blur(3px);box-shadow:0 -36px 0 #493d35;}
.gallery-art-2 {background:linear-gradient(170deg,#a3b6af,#667c6b 42%,#e2c293 43%,#aa9d74 57%,#5e7161 58%,#3b5b4c);}
.gallery-art-2:before {content:'';position:absolute;inset:55% 0 0;background:linear-gradient(38deg,#526854 15%,#8a9b76 45%,#d7b78a 90%);clip-path:polygon(0 75%,30% 18%,55% 56%,80% 10%,100% 48%,100% 100%,0 100%);}
.gallery-art-3 {background:radial-gradient(ellipse at 49% 40%,#d5ae83 0%,#a16a51 33%,#593e36 52%,#30362e 90%);}
.gallery-tile .tile-note {position:absolute;bottom:20px;left:18px;right:18px;color:#fff;background:rgba(21,32,26,.77);padding:14px;border-radius:5px;backdrop-filter:blur(8px);}
.gallery-tile .tile-note strong {display:block;font-size:14px;margin:0 0 5px;}
.gallery-tile .tile-note small {font:10px var(--mono);color:#d6e2d6;}
.gallery-disclaimer {margin-top:18px;color:#7b877e;font-size:12px;line-height:1.65;}
/* Architecture */
.arch-hero {padding:32px;border:1px solid #40574a;border-radius:12px;background:#1c2a24;color:#f6f6f0;}
.arch-line-title {font:700 10px var(--mono);color:#a6b7aa;letter-spacing:.08em;margin-bottom:23px;}
.arch-flow {display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:10px;align-items:center;}
.arch-node {border:1px solid #55745e;background:#30473a;border-radius:8px;padding:22px 12px;min-height:100px;display:grid;align-content:center;text-align:center;gap:8px;cursor:pointer;color:#fff;transition:background .2s,border .2s;}
.arch-node:hover,.arch-node.active {background:#446a50;border-color:#c2d6bf;}
.arch-node .node-ico {font-size:22px;color:#bcd9c1;}
.arch-node strong {font-size:12px;}
.arch-node small {font:9px var(--mono);color:#aabdb0;}
.arch-arrow {color:#b0c5ae;font-size:21px;}
.arch-back {display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:14px;}
.arch-detail {margin-top:18px;border:1px solid #5b7765;padding:20px;border-radius:8px;color:#c9d7cd;min-height:106px;line-height:1.7;font-size:13px;}
.arch-detail b {color:white;font-size:15px;}
.arch-footnote {color:#b0c0b3;font:10px/1.8 var(--mono);margin-top:15px;}
.arch-rationale {display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.arch-rationale .case-card {background:#edf0e9;}
.final-cta {background:#e8ece6;padding:67px 0;}
.final-cta-inner {display:flex;justify-content:space-between;align-items:center;gap:24px;}
.final-cta h2 {font-size:clamp(28px,3.7vw,47px);margin:10px 0 0;letter-spacing:-.06em;}
@media(max-width:1000px){.arch-flow{grid-template-columns:1fr 26px 1fr 26px 1fr;}.career-explorer{gap:16px;}.career-detail{padding:27px;}}
@media(max-width:780px){.page-hero{padding-top:49px;padding-bottom:50px;}.page-section{padding:65px 0;}.page-hero .lede{font-size:15px;}.page-intro-tiles,.case-grid,.gallery-grid,.arch-rationale{grid-template-columns:1fr 1fr;}.career-explorer,.showcase-grid{grid-template-columns:1fr;}.career-picker{max-height:none;}.career-detail{position:static;min-height:0;}.showcase-panel{min-height:410px;}.gallery-tile{min-height:380px;}.gallery-tile:nth-child(2){min-height:380px;}.arch-flow{gap:6px;}.arch-node{padding:13px 6px;min-height:95px;}.arch-node strong{font-size:10px;}.arch-arrow{font-size:16px;}.final-cta-inner{align-items:start;flex-direction:column;}}
@media(max-width:520px){.page-meta{gap:12px 22px;}.page-intro-tiles,.case-grid,.gallery-grid,.arch-rationale,.academic-strip{grid-template-columns:1fr;}.page-hero h1{font-size:clamp(43px,12vw,56px);}.split-head{display:block;}.arch-hero{padding:20px 13px;}.arch-flow{grid-template-columns:1fr;}.arch-arrow{text-align:center;transform:rotate(90deg);}.arch-back{grid-template-columns:1fr;}.arch-node{min-height:72px;}.job-choice{grid-template-columns:70px 1fr 14px;}.gallery-tile{min-height:370px!important;}.print-base{transform:scale(.75) rotate(-23deg) skewY(12deg);}.print-number{font-size:54px;}.feature-side{padding:30px;}.sub-nav{gap:7px;}.sub-nav a{font-size:10px;padding:8px 10px;}}

/* v5.2: identity-first hero and LinkedIn as a primary professional contact */
.nav-linkedin { display:inline-flex; align-items:center; gap:7px; padding:8px 12px; border:1px solid #c7d0c5; border-radius:7px; font-weight:700; font-size:12px; white-space:nowrap; color:#21382f; background:#fdfbf6; transition:background .18s,border-color .18s; }
.nav-linkedin:hover { background:#e4ede4; border-color:#71917a; }
.li-mark, .social-icon { display:grid; place-items:center; border-radius:3px; background:#1265a3; color:white; font:bold 11px/1 Arial,sans-serif; width:20px; height:20px; letter-spacing:-.07em; }
.li-out { color:#65756b; }
.hero-person-name { max-width:none; font-size:clamp(61px,6.4vw,91px); line-height:.94; font-weight:650; letter-spacing:-.08em; margin:12px 0 16px; }
.name-fullstop { color:var(--accent); }
.hero .identity-info { gap:8px; align-items:flex-start; }
.hero .identity-info strong { font-size:clamp(18px,2vw,22px); line-height:1.38; letter-spacing:-.035em; max-width:490px; }
.hero .identity-degree { font-size:13px; color:var(--muted); }
.hero .hero-identity { margin-bottom:27px; }
.hero-claim { font-size:clamp(23px,2.4vw,31px); font-weight:600; letter-spacing:-.055em; line-height:1.25; margin:0 0 18px; }
.hero-claim em { font-style:normal; color:var(--accent); }
.hero .hero-copy > p { margin-bottom:25px; font-size:14px; line-height:1.7; }
.hero .hero-copy { padding-right:26px; }
.hero-socials { display:flex; align-items:center; gap:24px; flex-wrap:wrap; margin-top:19px; }
.hero-socials a { display:inline-flex; align-items:center; gap:7px; color:#3d574b; font-size:12px; font-weight:700; padding-bottom:5px; border-bottom:1px solid #bfcbc0; }
.hero-socials a:hover { color:var(--accent); border-color:var(--accent); }
.hero-socials .social-icon { width:19px; height:19px; font-size:10px; }
.hero .hero-bottom { margin-top:29px; }
@media(max-width:1100px){ .nav{gap:17px;} .nav-links {gap:13px;} .hero-person-name{font-size:clamp(58px,6vw,80px)} }
@media(max-width:1040px){
  .nav{min-height:66px;}
  .mobile-toggle{display:block;}
  .nav-links{display:none;position:absolute;top:66px;left:0;right:0;background:#f4f1e9;padding:20px 24px;border-bottom:1px solid var(--line);box-shadow:0 15px 20px rgba(10,20,10,.08);}
  .nav-links.open{display:flex;flex-direction:column;align-items:stretch;gap:0;}
  .nav-links a{padding:13px 6px;font-size:14px;}
}
@media(max-width:780px){
  .hero-person-name {font-size:clamp(62px,10vw,82px);}
  .hero .hero-copy{padding-right:0;}
  .hero-claim{font-size:29px;}
}
@media(max-width:520px){
  .nav .nav-cta{display:none;}
  .nav-linkedin{padding:6px 8px;gap:5px;}
  .nav-linkedin .li-label,.nav-linkedin .li-out{display:none;}
  .hero-person-name {font-size:clamp(59px,15vw,74px); margin:9px 0 14px;}
  .hero .hero-identity{margin-bottom:24px;}
  .hero .identity-info strong{font-size:18px;}
  .hero-claim{font-size:27px;}
  .hero-socials{gap:20px;}
  .hero .hero-bottom{margin-top:30px;}
}
/* Brand remains compact in the sticky header, but readable. */
.logo { font-size:17px; letter-spacing:-.035em; }
@media(max-width:1100px){.logo{font-size:15px;}}
@media(max-width:520px){.logo{font-size:14px;}}


/* V5.3: actual works, published apps */
.published-app-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:28px}
.published-app{background:var(--paper);border:1px solid var(--line);border-radius:12px;overflow:hidden;min-width:0;display:flex;flex-direction:column}
.published-visual{height:270px;position:relative;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:14px;overflow:hidden}
.published-visual-stool{background:radial-gradient(circle at 70% 15%,#d5e5cc,transparent 45%),linear-gradient(135deg,#b4d0ba,#e3eada)}
.published-visual-syntax{background:radial-gradient(circle at 28% 23%,#697f7f,transparent 44%),linear-gradient(140deg,#223933,#122720);color:#e9eedb}
.published-visual-mood{background:radial-gradient(circle at 20% 15%,#f3c1a8,transparent 50%),linear-gradient(130deg,#bd775f,#e8aea1);color:#fff5eb}
.app-visual-icon{font-family:var(--mono);width:113px;height:113px;border-radius:24px;display:grid;place-items:center;background:#ffffffdd;color:#244134;font-size:52px;font-weight:700;box-shadow:0 23px 45px #1a2c211f}
.published-visual-syntax .app-visual-icon{background:#15241f;color:#e9f2de;border:1px solid #87a99b;font-size:27px}
.published-visual-mood .app-visual-icon{background:#ffefea;color:#be725f;font-size:58px}
.app-visual-sub{font:700 11px var(--mono);letter-spacing:.06em;text-align:center}
.concept-mark{position:absolute;bottom:13px;right:13px;left:13px;font:9px var(--mono);text-align:center;letter-spacing:.07em;opacity:.75}
.published-copy{padding:25px;display:flex;flex-direction:column;flex:1;gap:9px}
.published-copy h3{font-size:27px;margin:6px 0 0;letter-spacing:-.045em;line-height:1.13}
.published-copy .app-kind{font-size:13px;color:#c75b42;font-weight:700;margin:0}
.published-copy p{font-size:13px;color:var(--muted);line-height:1.75}
.app-features{display:flex;gap:6px;flex-wrap:wrap;margin-top:auto;padding-top:12px}
.app-features span{border:1px solid var(--line);border-radius:4px;padding:6px 8px;font:9px var(--mono);color:#355849}
.app-store-link{display:flex;align-items:center;justify-content:space-between;margin-top:19px;padding:14px 15px;border-radius:5px;background:#1d342b;color:#fff;text-decoration:none;font-weight:700;font-size:12px;transition:background .2s}
.app-store-link:hover{background:#c75b42}
.app-hero-stack{position:relative;width:90%;height:100%;display:flex;justify-content:center;align-items:center}
.stack-app{width:153px;height:202px;border-radius:29px;position:absolute;display:grid;place-items:center;box-shadow:0 24px 30px #3d513240;border:8px solid #1c322b}
.stack-app span{font:700 47px var(--mono)}
.stack-stool{background:#e3eee0;transform:translate(-85px,20px) rotate(-15deg);z-index:1;color:#456947}
.stack-syntax{background:#193b2b;transform:translate(0px,-19px) rotate(2deg);z-index:3;color:#e9e9cb}
.stack-syntax span{font-size:27px}
.stack-mood{background:#f1b9a5;transform:translate(91px,19px) rotate(14deg);z-index:2;color:#a34e42}
.stack-label{font:10px var(--mono);position:absolute;bottom:19px;left:0;right:0;text-align:center;color:#426657;z-index:4}
.real-case{display:grid;grid-template-columns:1.15fr .85fr;gap:18px;align-items:stretch}
.case-photo-hero{background:#e7e5de;border-radius:10px;overflow:hidden;min-height:415px;position:relative}
.case-photo-hero img{width:100%;height:100%;object-fit:contain;display:block}
.real-photo-label{position:absolute;left:20px;bottom:20px;background:#21352edb;color:white;border-radius:3px;padding:8px 12px;font:10px var(--mono)}
.real-case-content{padding:40px 35px;background:#22372e;color:#f0f0e9;border-radius:10px}
.real-case-content .eyebrow{color:#f6b89c}
.real-case-content h2{font-size:clamp(34px,3.7vw,57px);line-height:1.04;margin:32px 0 25px}
.real-case-content h2 em{color:#eab79b}
.real-case-content p{color:#d0dcd1;font-size:14px;line-height:1.85}
.real-case-content .case-caption{font:11px var(--mono);margin-top:23px;color:#a8b9ad}
.spec-row{display:flex;gap:12px;margin-top:34px}
.spec-row span{flex:1;border-top:1px solid #637469;padding-top:12px;display:flex;flex-direction:column;gap:7px}
.spec-row b{font-size:32px;font-weight:700}
.spec-row small{font:9px var(--mono);line-height:1.4;color:#cadbd0}
.build-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.build-detail-grid figure{margin:0;background:#ebe9e2;border-radius:10px;overflow:hidden}
.build-detail-grid img{width:100%;height:390px;object-fit:contain;display:block}
.build-detail-grid figcaption{padding:17px;font:11px var(--mono);color:#425447}
.real-art-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.artwork-entry{display:block;color:inherit;text-decoration:none;min-width:0}
.artwork-image{height:525px;background:#dfdcd4;overflow:hidden;border-radius:9px}
.artwork-image img{width:100%;height:100%;display:block;object-fit:contain;transition:transform .25s ease}
.artwork-entry:hover img{transform:scale(1.025)}
.artwork-title{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding:17px 2px}
.artwork-title strong{font-size:18px}
.artwork-title span{font:10px var(--mono);color:#68766c;line-height:1.6;text-align:right}
.studio-split{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:46px}
.studio-split img{width:100%;border-radius:9px;display:block}
.studio-split h3{font-size:clamp(29px,3.5vw,47px);letter-spacing:-.04em;margin:19px 0}
.studio-split p{font-size:15px;color:var(--muted);line-height:1.8}
.project-real-photo img{width:100%;height:100%;display:block;object-fit:cover}
.art-piece.art-photographic:before,.art-piece.art-photographic:after{display:none!important}
.art-piece.art-photographic img{width:100%;height:100%;display:block;object-fit:cover}
.art-piece.one.art-photographic img{object-position:50% 29%}
.art-piece.two.art-photographic img{object-position:50% 33%}
.art-piece.three.art-photographic img{object-position:50% 50%}
.art-piece.art-photographic span{z-index:2}
.art-lightbox{position:fixed;inset:0;background:#14241aef;display:grid;place-items:center;z-index:10000;padding:5vw;cursor:zoom-out}
.art-lightbox img{max-width:90vw;max-height:88vh;width:auto;height:auto;object-fit:contain;border-radius:4px;box-shadow:0 18px 70px #0009}
.art-lightbox button{position:fixed;right:22px;top:18px;cursor:pointer;color:white;background:#4b6356;border:1px solid #ffffff77;border-radius:100%;height:42px;width:42px;font-size:25px}
@media(max-width:950px){.published-app-grid{grid-template-columns:1fr 1fr}.real-case{grid-template-columns:1fr}.artwork-image{height:430px}}
@media(max-width:660px){.published-app-grid,.real-art-grid,.build-detail-grid,.studio-split{grid-template-columns:1fr}.published-visual{height:225px}.case-photo-hero{min-height:240px}.real-case-content{padding:28px 23px}.artwork-image{height:420px}.artwork-title{flex-direction:column;gap:5px}.artwork-title span{text-align:left}.build-detail-grid img{height:280px}.real-photo-label{font-size:8px;bottom:8px;left:8px}.studio-split{gap:20px}}


/* V5.4 acrylic painting gallery */
.real-art-grid-seven{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.real-art-grid-seven .artwork-entry{display:block;color:inherit;text-decoration:none;min-width:0}
.real-art-grid-seven .artwork-image{height:360px;background:#dfdcd4;overflow:hidden;border-radius:9px}
.real-art-grid-seven .artwork-image img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .25s ease}
.real-art-grid-seven .artwork-entry:hover img{transform:scale(1.025)}
.real-art-grid-seven .artwork-title{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding:15px 2px 2px}
.real-art-grid-seven .artwork-title strong{font-size:18px;line-height:1.2}
.real-art-grid-seven .artwork-title span{font:10px var(--mono);color:#68766c;line-height:1.6;text-align:right}
.art-mini-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.art-mini-grid .mini-art{display:block;border-radius:9px;overflow:hidden;background:#dfdcd4}
.art-mini-grid .mini-art img{width:100%;height:250px;display:block;object-fit:cover}
.studio-text-only{align-items:start}
section#art .art-piece.one.art-photographic img{object-position:50% 44%}
section#art .art-piece.two.art-photographic img{object-position:50% 42%}
section#art .art-piece.three.art-photographic img{object-position:50% 55%}
@media (max-width: 950px){.real-art-grid-seven{grid-template-columns:1fr 1fr}}
@media (max-width: 660px){.real-art-grid-seven,.art-mini-grid{grid-template-columns:1fr}.real-art-grid-seven .artwork-image{height:320px}.real-art-grid-seven .artwork-title{flex-direction:column;gap:4px}.real-art-grid-seven .artwork-title span{text-align:left}}

/* V5.9 metadata */
.real-art-grid-seven .artwork-title{display:block;padding-bottom:14px}
.real-art-grid-seven .artwork-title strong{display:block;margin-bottom:12px}
.artwork-specs{display:flex;flex-direction:column;gap:6px;border-top:1px solid var(--line);padding-top:12px;color:var(--muted);font-size:12px;line-height:1.45}
.artwork-specs span{display:block!important;text-align:left!important;font-family:inherit!important;font-size:12px!important;line-height:1.5!important}
.artwork-specs b{font-weight:700;color:#355849}
.painting-note{max-width:850px;padding:34px 38px;background:#f4f1e9;border:1px solid var(--line);border-radius:10px}
.painting-note h3{font-size:clamp(27px,3vw,40px);margin:13px 0 19px}
.painting-note p{color:var(--muted);line-height:1.85;font-size:15px}
@media(max-width:660px){.painting-note{padding:26px}}

/* V5.9: original App Store artwork from Apple CDN and Apple lookup */
.original-app-icon{width:138px;height:138px;border-radius:27px;display:block;object-fit:cover;background:#f3f1e9;box-shadow:0 14px 35px #243a2c30}
.icon-link{display:grid;place-items:center;gap:8px;text-decoration:none;color:inherit}
.icon-link:hover .original-app-icon{transform:translateY(-3px);transition:transform .2s}
.original-app-icon:not([src]){visibility:hidden}
.app-icon-status{font:10px var(--mono);color:#52675a;text-align:center}
.published-visual .icon-link{height:100%;width:100%;align-content:center}
.app-hero-stack.original-stack{display:flex;gap:13px;align-items:center;justify-content:center;min-height:250px}
.app-hero-stack.original-stack .icon-link{width:110px;flex-shrink:0}
.app-hero-stack.original-stack .original-app-icon{width:110px;height:110px;border-radius:23px}
.app-hero-stack.original-stack .stack-label{position:absolute;bottom:15px;left:0;right:0}
@media(max-width:540px){.app-hero-stack.original-stack{gap:8px}.app-hero-stack.original-stack .icon-link{width:89px}.app-hero-stack.original-stack .original-app-icon{width:89px;height:89px;border-radius:19px}.published-visual{min-height:230px}}

/* v5.9: accessible link navigation without script, including mobile */
@media(max-width:1040px){
  header .nav{height:auto;min-height:0;padding-top:10px;padding-bottom:9px;display:flex;gap:8px 12px;flex-wrap:wrap;align-items:center;}
  header .nav-links{display:flex!important;position:static!important;top:auto;left:auto;right:auto;background:transparent;box-shadow:none;border:0;padding:8px 0 5px;order:4;flex-basis:100%;gap:18px;overflow-x:auto;overflow-y:hidden;white-space:nowrap;scrollbar-width:none;}
  header .nav-links a{flex:0 0 auto;}
  header .nav-links::-webkit-scrollbar{display:none}
  header .mobile-toggle{display:none!important;}
}
.site-directory{background:#f1ede3;border-bottom:1px solid var(--line);}
.site-directory .wrap{display:flex;align-items:center;gap:8px;overflow-x:auto;white-space:nowrap;padding-top:10px;padding-bottom:10px;scrollbar-width:none;}
.site-directory .wrap::-webkit-scrollbar{display:none}
.site-directory a{font:600 11px var(--font);letter-spacing:.01em;border:1px solid #c9d4ca;border-radius:50px;color:#254136;background:#fffdf7;padding:9px 12px;text-decoration:none;flex-shrink:0;}
.site-directory a:hover,.site-directory a[aria-current="page"]{background:#253c32;color:white}
@media(max-width:550px){.site-directory .wrap{gap:7px;padding-top:8px;padding-bottom:8px}.site-directory a{font-size:10px;padding:8px 10px}}

/* v5.9 robust image loading: show a readable link even when the preview blocks third-party images. */
.apple-artwork{position:relative;display:grid;place-items:center;gap:12px;min-height:146px;min-width:110px;max-width:100%;text-decoration:none;}
.apple-artwork img.original-app-icon{position:relative;z-index:2;display:none;}
.apple-artwork.is-loaded img.original-app-icon{display:block;}
.apple-artwork .app-artwork-fallback{width:138px;height:138px;max-width:100%;padding:15px;display:grid;place-content:center;gap:10px;text-align:center;line-height:1.35;background:#e6e7e1;border:1px solid #cbd3ca;color:#244336;border-radius:26px;box-shadow:0 12px 30px #1c34241b;}
.apple-artwork .app-artwork-fallback strong{font:700 14px var(--mono)}
.apple-artwork .app-artwork-fallback small{font:10px var(--mono);opacity:.75}
.apple-artwork.is-loaded .app-artwork-fallback{display:none;}
.apple-artwork .app-icon-status{font-size:10px;letter-spacing:.05em;}
.apple-artwork.is-loaded .app-icon-status{color:#567765;}
.apple-artwork:not(.is-loaded) .app-icon-status{color:#7a857c;}
.app-hero-stack .apple-artwork .app-artwork-fallback{width:110px;height:110px;padding:8px;border-radius:21px}
.app-hero-stack .apple-artwork .app-artwork-fallback strong{font-size:10px}
.app-hero-stack .apple-artwork .app-artwork-fallback small{font-size:8px}
@media(max-width:650px){.app-hero-stack .apple-artwork .app-artwork-fallback{width:89px;height:89px}.apple-artwork .app-artwork-fallback{width:138px;height:138px}}
