@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#17313d;--muted:#56707b;--line:#d9e5e9;--paper:#fff;--canvas:#f5fafb;--accent:#00b7d7;--accent-light:#e2f7fa;--dark:#f4fafb}
body{background:var(--canvas);color:var(--ink)}
.rail{background:#fff;color:var(--ink);border-right:1px solid var(--line)}
.monogram{background:#006b80;color:white;border-radius:10px}.mark-dot{color:var(--accent)}
.identity-text small,.rail-label,.rail-footer{color:var(--muted)}
.rail-footer{border-top:1px solid var(--line)}.rail-footer a{color:var(--ink)}
.rail .language-switch{color:var(--muted)}
.nav a{color:#526975}.nav a span{color:#7b929d}.nav a:hover,.nav a.active{background:var(--accent-light);color:#075e71}.nav a.active span{color:#075e71}
.eyebrow,.path-no,.story-label,.story-index,.education-grid span{color:#007a91}
.hero{background:#f5fafb;min-height:660px}
.hero-grid{grid-template-columns:minmax(0,1.2fr) minmax(270px,.72fr)}
h1 em,.footer h2 em{color:#007d94}.hero-copy,.intro-line,.section-heading p{color:var(--muted)}
.primary-action,.avatar-controls button{background:#006e82;color:#fff}.primary-action:hover,.avatar-controls button:hover{background:#005b6c}
.text-action,.footer-email{color:#006e82}.profile-card{background:#e8f8fa;color:var(--ink);box-shadow:0 18px 50px #114d6010;transform:none;border:1px solid #c8e9ee}
.profile-card-top,.profile-card-bottom,.profile-card-body p{color:#52717b}.profile-card-top span,.card-kicker{color:#007a91}.profile-card-bottom{border-color:#c8e9ee}
.path:hover,.path[aria-pressed=true]{background:#e9f9fb}.path b,.role-toggle{color:#006e82}.path-result{background:#e7f8fa;color:var(--ink);border:1px solid #bce9f0}
.path-result p,.path-result li{color:#4c6873}.path-result a,.path-result .text-action{color:#006e82}
.journey{background:#f5fafb}.role,.timeline{border-color:var(--line)}.role-date,.role-detail,.timeline-note{color:var(--muted)}
.role-toggle{background:#e2f5f7}.role[open] .role-toggle{background:#006e82}.tag-row span{background:#e4f6f8;color:#07677a}
.stories{background:#fff;color:var(--ink)}.stories .section-heading p,.story p{color:var(--muted)}.story-list,.story{border-color:var(--line)}.story>a{color:#006e82}
.toolkit{background:#f5fafb}.toolkit-lead strong{color:#006e82}.education{background:#fff}.education-grid{background:var(--line);border-color:var(--line)}.education-grid>div{background:white}.education-grid small,.language-line{color:var(--muted)}
.assistant-section{background:#eff9fa}.assistant-frame{box-shadow:0 20px 65px #0a60721a}.assistant-fallback a{color:#006e82}
.footer{background:#fff}.footer-bottom{border-color:var(--line)}
.portfolio{background:#fff}.portfolio-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.portfolio-list article{border:1px solid var(--line);border-radius:14px;padding:26px;display:flex;flex-direction:column;min-height:255px;background:#fbfefe}.portfolio-list article span{font:700 11px Manrope,sans-serif;letter-spacing:.12em;color:#007a91}.portfolio-list h3{font-size:22px;line-height:1.25;margin:23px 0 10px}.portfolio-list p{margin:0 0 24px;color:var(--muted);font-size:13px}.portfolio-list a{margin-top:auto;color:#006e82;font-weight:700;font-size:13px;text-decoration:none}
.proof-intro{color:var(--muted);max-width:660px;margin:-12px 0 26px;font-size:14px}.proof-link{display:inline-block;margin-top:8px;color:#006e82;font-size:12px;font-weight:700;text-decoration:underline;text-underline-offset:3px}
.language-switch a[aria-current=page]{background:#006e82;color:white}
:where(a,button,summary):focus-visible{outline:3px solid #006e82;outline-offset:4px}
@media(max-width:950px){.portfolio-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.portfolio-list{grid-template-columns:1fr}.portfolio-list article{min-height:0}.hero-grid{padding-top:48px}.profile-card{min-height:245px}}
/* Three distinct routes: written AI, spoken AI, or direct human contact. */
.contact-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.contact-choice,.contact-option{position:relative;text-align:left;text-decoration:none;background:white;border:1px solid #cce5ea;border-radius:14px;padding:25px;min-height:205px;color:var(--ink);display:flex;flex-direction:column;align-items:flex-start;cursor:pointer;transition:box-shadow .18s,border-color .18s,transform .18s}
.contact-choice:hover,.contact-choice[aria-expanded=true],.contact-option:hover{border-color:#00a5c2;box-shadow:0 12px 32px #005d7214;transform:translateY(-2px)}
.contact-choice>span,.contact-option>span{font:700 10px Manrope,sans-serif;letter-spacing:.13em;color:#007a91}
.contact-choice strong,.contact-option strong{font:700 clamp(18px,1.6vw,24px)/1.25 Manrope,sans-serif;letter-spacing:-.045em;margin:28px 0 8px;max-width:240px}
.contact-choice small,.contact-option small{font:400 13px/1.6 'DM Sans',sans-serif;color:var(--muted);max-width:270px}
.contact-choice b,.contact-option b{position:absolute;top:20px;right:20px;color:#007a91}
.conversation-panel{margin-top:24px;background:white;border:1px solid var(--line);border-radius:16px;padding:clamp(18px,3vw,34px);max-width:960px}
.conversation-panel[hidden]{display:none}.panel-heading h3{font-size:26px;margin:0 0 5px}.panel-heading p{font-size:13px;color:var(--muted);margin:0 0 22px;max-width:680px}
.chat-log{min-height:210px;max-height:390px;overflow:auto;background:#f6fafb;border:1px solid var(--line);border-radius:12px;padding:18px;display:flex;flex-direction:column;gap:14px}
.chat-empty{color:var(--muted);font-size:14px;margin:auto}.chat-bubble{max-width:84%;padding:12px 16px;border-radius:12px;margin:0;display:grid;gap:4px;overflow-wrap:anywhere;white-space:pre-wrap;font-size:14px}
.chat-bubble strong{font-size:11px;letter-spacing:.05em}.chat-bubble.user{margin-left:auto;background:#dbf5f9;color:#16404a}.chat-bubble.assistant{margin-right:auto;background:white;border:1px solid var(--line)}
.chat-form{margin-top:18px}.chat-form label{font-size:12px;font-weight:700;display:block;margin-bottom:8px}.chat-form>div{display:flex;align-items:stretch;gap:10px}.chat-form textarea{flex:1;min-width:0;border:1px solid #b9d5dc;border-radius:10px;padding:12px 14px;resize:vertical;min-height:70px;color:var(--ink);background:#fff;font:inherit;font-size:14px}
.chat-form button{align-self:stretch;border:0;border-radius:10px;padding:0 23px;background:#006e82;color:white;font-weight:700;white-space:nowrap}.chat-form button:hover{background:#005b6c}.chat-form button:disabled{opacity:.55;cursor:wait}.chat-status{min-height:20px;color:#a03d2b;font-size:12px;margin:10px 0 0}
#call-panel .assistant-frame{margin-top:12px}
@media(max-width:1100px){.contact-choices{grid-template-columns:1fr}.contact-choice,.contact-option{min-height:112px}.contact-choice strong,.contact-option strong{margin:13px 0 3px;max-width:none}}
@media(max-width:680px){.chat-form>div{flex-direction:column}.chat-form button{min-height:44px}.chat-bubble{max-width:96%}.conversation-panel{padding:16px}}
