:root{--blue:#243bff;--ink:#151923;--muted:#626773;--lime:#d5fb62;--line:#e4e6ec;--white:#fff;--radius:22px;font-family:"Segoe UI",Arial,sans-serif;color:var(--ink);background:var(--white);font-synthesis:none;scroll-behavior:smooth}
*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button{font:inherit}svg{display:block}::selection{background:var(--lime);color:var(--ink)}:focus-visible{outline:3px solid var(--blue);outline-offset:6px}section[id]{scroll-margin-top:30px}.shell{width:min(1200px,calc(100% - 96px));margin-inline:auto}.skip-link{position:fixed;top:12px;left:12px;z-index:10;background:var(--ink);color:white;padding:14px;transform:translateY(-180%)}.skip-link:focus{transform:none}.icon{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.icon-library{position:absolute;width:0;height:0;overflow:hidden}
.header{display:flex;align-items:center;justify-content:space-between;min-height:110px;gap:24px}.signature{font-size:25px;font-weight:750;letter-spacing:-1.4px}.signature-dot{color:var(--blue)}.signature-last{font-weight:400}.header nav{display:flex;gap:32px;align-items:center;font-size:14px;font-weight:600}.header nav a{transition:color .18s}.header nav a:hover{color:var(--blue)}.header .nav-contact{border:1px solid var(--line);border-radius:100px;padding:13px 20px}
.hero{display:grid;grid-template-columns:1.18fr 1fr;gap:54px;align-items:center;padding-block:40px 84px}.eyebrow{font-size:12px;letter-spacing:1.8px;font-weight:700;display:block}.hero .eyebrow{display:flex;gap:10px;align-items:center}.little-star{color:var(--blue);font-size:25px;line-height:1}.hero h1{font-size:clamp(38px,4.4vw,61px);letter-spacing:-2.8px;line-height:1.09;margin:26px 0;font-weight:650}.hero h1>span{color:var(--blue)}.hero-description{font-size:18px;line-height:1.65;max-width:490px;color:var(--muted);margin:0}.hero-actions{display:flex;gap:24px;align-items:center;margin-top:32px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;font-weight:650;font-size:16px;padding:17px 23px;border-radius:9px;min-height:56px;transition:transform .2s,background .2s}.button:hover{transform:translateY(-3px)}.button-blue{color:white;background:var(--blue)}.button-blue:hover{background:#162cd6}.text-link{font-size:14px;font-weight:650;display:inline-flex;gap:12px;align-items:center}.text-link:hover{text-decoration:underline;text-underline-offset:5px}.linkedin-small{display:flex;align-items:center;justify-content:center;border:1px solid currentColor;font-size:12px;border-radius:3px;width:21px;height:21px;font-weight:800}.hero-footnote{display:flex;flex-direction:column;gap:6px;margin-top:36px;color:var(--muted);font-size:12px;letter-spacing:1px}.hero-footnote span+span{letter-spacing:0;font-size:14px}
.identity-panel{background:var(--blue);border-radius:var(--radius);color:white;min-height:475px;display:flex;flex-direction:column;justify-content:space-between;padding:30px 32px;position:relative;overflow:hidden}.identity-top{display:flex;justify-content:space-between;align-items:center;font-size:12px;letter-spacing:1.7px;font-weight:650}.asterisk{font-size:37px;color:var(--lime);line-height:1}.monogram{font-size:clamp(135px,19vw,250px);font-weight:650;letter-spacing:-22px;line-height:.95;margin:20px 0 35px;user-select:none}.monogram span{color:var(--lime)}.identity-bottom{border-top:1px solid #ffffff48;padding-top:24px;display:flex;justify-content:space-between;gap:15px;align-items:flex-end}.identity-bottom>span{font-size:22px;line-height:1.25;letter-spacing:-.5px}.identity-tags{display:flex;flex-direction:column;gap:7px;font-size:10px;letter-spacing:1.2px;text-align:right;color:#e5e8ff}
.projects{padding-block:0 80px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:30px;gap:25px}.section-heading .eyebrow,.about .eyebrow{color:var(--muted)}h2{font-size:40px;line-height:1.12;font-weight:600;letter-spacing:-1.6px;margin:18px 0 0}.section-heading p{color:var(--muted);font-size:16px;line-height:1.6;margin:0 0 5px}.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.project-card{border:1px solid var(--line);border-radius:var(--radius);padding:29px 30px 23px;display:flex;flex-direction:column;min-height:302px;transition:transform .22s,box-shadow .22s,border-color .22s}.project-card:hover{transform:translateY(-5px);box-shadow:0 12px 30px #1519230d;border-color:#9ca9cd}.card-top{display:flex;align-items:center;justify-content:space-between;gap:14px}.category{font-size:11px;letter-spacing:1.5px;font-weight:700}.card-top .icon{width:26px;height:26px;opacity:.8}.brand{margin:26px 0 17px;font-size:42px;line-height:1.1;letter-spacing:-1.8px;font-weight:750}.brand-ibusiness{color:#172d61}.brand-ibusiness>span{font-size:14px;letter-spacing:0;margin-left:9px;padding:4px 5px;border:1px solid #172d6133;border-radius:4px;vertical-align:middle}.brand-cdg{display:flex;gap:14px;align-items:center;font-size:45px;letter-spacing:-2px}.brand-cdg span{font-size:10px;letter-spacing:2px;font-weight:500;max-width:130px;border-left:1px solid #ffffff55;padding:12px 0 12px 15px}.brand-eatfood{color:#d44316}.brand-eatfood>span:not(.brand-period){font-weight:450}.brand-eatfood .brand-period{color:#9e3310}.brand-evotrip{color:#0b645e;letter-spacing:-1.5px}.brand-evotrip span{font-weight:400}.project-card p{max-width:400px;line-height:1.6;font-size:16px;margin:0 0 22px;color:#575e6d}.card-bottom{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:auto;padding-top:19px;border-top:1px solid #15192314;font-size:13px}.visit{font-size:14px;font-weight:650;padding:5px 0}.project-card:hover .visit{text-decoration:underline;text-underline-offset:4px}.ibusiness{background:#f3f6fc}.cdg{background:#191c26;color:#fff;border-color:#191c26}.cdg p{color:#c2c6d1}.cdg .card-bottom{border-color:#ffffff25;color:#d0d3dc}.cdg .visit{color:white}.eatfood{background:#fff4ed}.evotrip{background:#edf8f5}
.about{border-top:1px solid var(--line);display:grid;grid-template-columns:.92fr 1.08fr;gap:85px;padding-block:66px 78px}.about-intro .text-link{margin-top:30px;color:var(--blue)}.about-lead{font-size:23px!important;line-height:1.5!important;letter-spacing:-.45px;color:var(--ink)!important;margin-top:0!important}.about-content>p{font-size:16px;color:var(--muted);line-height:1.75;margin:0 0 20px}.expertise{display:flex;flex-wrap:wrap;gap:8px;margin-top:25px}.expertise span{border:1px solid var(--line);border-radius:100px;font-size:13px;padding:8px 13px}.trajectory{margin-top:30px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.trajectory summary{padding:20px 0;cursor:pointer;font-size:14px;font-weight:650;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:15px}.trajectory summary::-webkit-details-marker{display:none}.trajectory summary>span{font-size:22px;font-weight:400}.trajectory[open] summary>span{transform:rotate(45deg)}.trajectory-content{padding:0 0 20px 18px;border-left:2px solid var(--blue);margin:0 0 25px 3px}.trajectory-content>div+div{margin-top:26px}.trajectory-content span{font-size:11px;letter-spacing:1px;color:var(--muted)}.trajectory-content h3{font-size:17px;font-weight:600;margin:8px 0}.trajectory-content p{font-size:14px;line-height:1.6;color:var(--muted);margin:0}
.contact{background:var(--ink);color:white;border-radius:var(--radius);display:grid;grid-template-columns:1.1fr 1fr;gap:70px;padding:55px 52px;align-items:center}.contact .eyebrow{color:#b6bdd0}.contact h2{font-size:47px;letter-spacing:-1.8px;margin-top:20px}.contact h2 span{color:var(--lime)}.contact-main p{font-size:16px;line-height:1.6;color:#bfc4d1;margin:24px 0}.button-lime{background:var(--lime);color:var(--ink);font-size:14px}.button-lime:hover{background:#e3ff92}.contact-options>a{display:block;border-bottom:1px solid #ffffff25;padding:25px 0}.contact-options>a>span{display:block;font-size:11px;letter-spacing:1.5px;color:#b6bdd0;margin-bottom:11px}.contact-options strong{font-size:clamp(15px,1.7vw,21px);font-weight:500;overflow-wrap:anywhere}.contact-options>a:hover strong{color:var(--lime)}.contact-utilities{display:flex;gap:22px;flex-wrap:wrap;margin-top:26px}.contact-utilities a,.contact-utilities button{display:inline-flex;align-items:center;gap:9px;font-size:13px;cursor:pointer;padding:4px 0;color:#d6dbe5;background:none;border:0}.contact-utilities .icon{width:18px;height:18px}.contact-utilities a:hover,.contact-utilities button:hover{color:var(--lime)}.contact :focus-visible{outline-color:var(--lime)}.copy-status{font-size:13px;line-height:1.6;color:var(--lime);min-height:24px;margin-bottom:0;overflow-wrap:anywhere}
.footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-block:28px;font-size:14px;color:var(--muted)}.footer>a{display:inline-flex;align-items:center;min-height:44px}.footer>a:hover{color:var(--blue)}
@media(min-width:1500px){.hero h1{font-size:61px}.monogram{font-size:250px}}
@media(max-width:1050px){.shell{width:calc(100% - 56px)}.hero{gap:32px;grid-template-columns:1.15fr 1fr}.hero h1{font-size:45px;letter-spacing:-2px}.identity-panel{min-height:430px;padding:25px}.monogram{font-size:185px;letter-spacing:-17px}.hero-actions{gap:20px}.about{gap:45px}.contact{gap:35px;padding:40px 35px}.contact h2{font-size:40px}.contact-utilities{gap:16px}.category{font-size:10px;letter-spacing:1.1px}}
@media(max-width:760px){.shell{width:calc(100% - 40px)}.header{min-height:86px}.signature{font-size:23px}.header nav{gap:0}.header nav>a:not(.nav-contact){display:none}.header .nav-contact{font-size:12px;padding:11px 14px}.hero{grid-template-columns:1fr;padding-block:26px 58px;gap:36px}.hero h1{font-size:clamp(36px,7.8vw,55px);letter-spacing:-1.8px;margin-top:24px}.hero-description{font-size:17px;max-width:550px}.hero-actions{gap:24px}.hero-footnote{margin-top:27px}.identity-panel{min-height:320px;padding:26px 28px}.monogram{font-size:180px;line-height:.85;margin:15px 0 24px;letter-spacing:-15px}.identity-bottom{padding-top:17px}.identity-bottom>span{font-size:20px}.section-heading{align-items:flex-start;flex-direction:column;gap:16px}h2{font-size:34px}.section-heading p{font-size:15px}.desktop-break{display:none}.project-card{padding:24px;min-height:290px}.brand{font-size:36px}.brand-cdg{font-size:39px;gap:10px}.brand-cdg span{font-size:9px;letter-spacing:1px;padding-left:10px}.card-top .icon{width:22px;height:22px}.category{font-size:9px;letter-spacing:.8px}.project-card p{font-size:15px}.card-bottom{font-size:12px}.projects{padding-bottom:50px}.about{grid-template-columns:1fr;gap:35px;padding-block:45px 52px}.about-lead{font-size:21px!important}.contact{grid-template-columns:1fr;gap:15px;padding:35px 27px}.contact h2{font-size:37px}.contact-options strong{font-size:19px}.footer{flex-wrap:wrap;gap:18px;font-size:12px}.footer-address{width:100%;color:#858b98}}
@media(max-width:540px){.project-grid{grid-template-columns:1fr;gap:14px}.project-card{min-height:275px;padding:26px}.brand{font-size:42px}.brand-cdg{font-size:46px}.brand-cdg span{font-size:10px;letter-spacing:1.8px}.category{font-size:10px;letter-spacing:1.1px}.project-card p{font-size:16px}.card-bottom{font-size:13px}.eyebrow{font-size:11px;letter-spacing:1.4px}.hero-actions{align-items:flex-start;flex-direction:column;gap:22px}.hero-actions .text-link{font-size:14px}.hero-description{font-size:16px}.identity-top{font-size:11px}.contact .button{font-size:13px;padding-inline:17px}.contact-utilities{flex-direction:column;gap:16px}.contact-options strong{font-size:17px}.identity-tags{font-size:9px}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
.button-outline{border:1px solid #d7dce7;background:#fff;color:var(--ink)}
.button-outline:hover{border-color:var(--blue);color:var(--blue);background:#f4f6ff}
.professional-focus{border-left:3px solid var(--blue);padding-left:18px;margin:24px 0}
.about-intro .opportunity-link{display:flex;width:fit-content;min-height:44px;line-height:1.5;margin-top:14px}
.professional-focus h3{font-size:1rem;line-height:1.5;margin:0 0 8px;font-weight:650}
.professional-focus p{font-size:1rem;line-height:1.75;color:var(--muted);margin:0}
.recommendations{padding-bottom:78px}
.recommendation-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.recommendation-card{margin:0;padding:28px;border:1px solid var(--line);border-radius:var(--radius);background:#f8f9fc;display:flex;flex-direction:column;min-width:0}
.recommendation-topic{font-size:12px;letter-spacing:1.1px;line-height:1.5;font-weight:650;color:var(--blue)}
.recommendation-card blockquote{margin:25px 0 28px;flex:1}
.recommendation-card blockquote p{font-size:1.25rem;line-height:1.55;letter-spacing:-.2px;margin:0;font-weight:500;overflow-wrap:anywhere}
.recommendation-card figcaption{border-top:1px solid var(--line);padding-top:20px}
.recommendation-card figcaption strong{display:block;font-size:1rem;font-weight:650;line-height:1.45;overflow-wrap:anywhere}
.recommendation-card figcaption>span{display:block;font-size:.875rem;color:var(--muted);line-height:1.5;margin-top:5px}
.recommendation-card figcaption p{font-size:.875rem;line-height:1.6;color:var(--muted);margin:14px 0 12px}
.recommendation-source{display:inline-flex;align-items:center;align-self:flex-start;gap:10px;min-height:44px;font-size:.875rem;font-weight:600;color:var(--blue)}
.recommendation-source:hover{text-decoration:underline;text-underline-offset:5px}
@media(max-width:1000px){.recommendations .section-heading{align-items:flex-start;flex-direction:column;gap:16px}.recommendation-card{padding:22px}}
@media(max-width:760px){.recommendations{padding-bottom:52px}.recommendation-grid{grid-template-columns:1fr;gap:14px}.recommendation-card{padding:26px}.recommendation-card blockquote{margin-block:20px 24px}}
@media print{.recommendation-card{break-inside:avoid}.recommendation-grid{grid-template-columns:1fr}}
.portrait{display:block;width:min(100%,250px);height:auto;aspect-ratio:5/6;object-fit:cover;object-position:left center;border-radius:12px;margin:20px 0 24px}
.brand-image{height:96px;display:flex;align-items:center;margin:18px 0 20px;min-width:0}
.brand-image img{display:block;object-fit:contain;max-width:100%;height:auto;max-height:96px}
.logo-ibusiness{width:280px;margin-left:-39px}
.logo-cdg{width:204px;margin-left:-9px}
.logo-eatfood{width:220px}
.brand-image .logo-evotrip{width:96px;max-height:96px}
.ibusiness{background:#f3f6fa;border-color:#e0e7ef}
.ibusiness .category{color:#244c66}
.cdg .category{color:#d2d7e2}
.eatfood{background:#f4f9fd;border-color:#dae7f1}
.eatfood .category,.eatfood .card-top .icon{color:#28699d}
.evotrip{background:#12332f;border-color:#12332f;color:#fff}
.evotrip .category,.evotrip .card-top .icon{color:#e6c870}
.evotrip p{color:#c5d5d0}
.evotrip .card-bottom{border-color:#ffffff26;color:#c5d5d0}
.evotrip .visit{color:#fff}
/* Smartphone: readable copy and comfortable touch targets. */
@media(max-width:760px){
  .header{flex-wrap:wrap;gap:12px;padding-block:12px}
  .signature{display:inline-flex;align-items:center;min-height:44px}
  .portrait{width:min(100%,230px);margin-block:18px 22px}
  .header .nav-contact{display:inline-flex;align-items:center;justify-content:center;min-height:44px;font-size:.875rem}
  .hero-description,.project-card p,.about-content>p,.contact-main p{font-size:1rem}
  .hero-actions{gap:12px}
  .hero-actions .button{width:100%;font-size:1rem}
  .text-link,.hero-actions .text-link{min-height:44px;font-size:.875rem;line-height:1.5}
  .category,.eyebrow{font-size:12px}
  .identity-bottom{flex-wrap:wrap}
  .identity-tags{font-size:12px;line-height:1.4}
  .card-top{align-items:flex-start}
  .card-bottom{flex-wrap:wrap;font-size:.875rem}
  .visit{font-size:.875rem;min-height:44px;display:inline-flex;align-items:center}
  .expertise span{font-size:.875rem;line-height:1.5}
  .trajectory summary{min-height:60px;font-size:1rem;line-height:1.5}
  .trajectory-content span{font-size:12px}
  .trajectory-content h3{font-size:1.0625rem;line-height:1.5}
  .trajectory-content p{font-size:1rem}
  .contact .eyebrow,.contact-options>a>span{font-size:12px}
  .contact .button{width:100%;font-size:.875rem;line-height:1.5;white-space:normal}
  .contact-options strong{font-size:1.0625rem;line-height:1.5}
  .contact-utilities{gap:8px;align-items:stretch}
  .contact-utilities a,.contact-utilities button{min-height:48px;font-size:.875rem;line-height:1.5;text-align:left}
  .copy-status{font-size:.875rem}
  .footer>a{display:inline-flex;align-items:center;min-height:44px;font-size:.875rem}
  .footer{flex-direction:column;gap:4px;text-align:center}
  .copyright{font-size:.875rem;line-height:1.6}
}
@media(hover:none){.button:hover,.project-card:hover{transform:none;box-shadow:none}}
@media print{.header nav,.hero-actions,.identity-panel,.contact-utilities,.footer>a{display:none}.shell{width:100%}.hero,.about,.contact{display:block;padding:20px 0}.contact{background:white;color:var(--ink)}.contact h2 span{color:var(--ink)}.contact-main p,.contact-options span{color:var(--muted)}.project-card{break-inside:avoid}.hero h1{font-size:36px}.project-card,.contact{box-shadow:none;border:1px solid var(--line)}.contact{padding:20px}.button-lime{background:white;border:1px solid var(--ink)}a[href^="http"]::after{content:" (" attr(href) ")";font-size:10px;display:block;overflow-wrap:anywhere}}
/* Language navigation */
.header{flex-wrap:wrap;column-gap:20px;row-gap:10px;padding-block:18px}
.header nav{margin-left:auto}
.language-switcher{display:flex;gap:2px;flex-shrink:0;border:1px solid var(--line);border-radius:999px;padding:3px}
.language-switcher a{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;border-radius:999px;font-size:13px;font-weight:650;text-decoration:none}
.language-switcher a[aria-current="page"]{background:var(--blue);color:#fff}
.translation-note{color:var(--muted);font-size:.875rem;margin:0 0 18px}
@media(max-width:760px){.header{column-gap:8px}.header nav{margin-left:auto}.language-switcher{margin-left:auto}.hero h1{overflow-wrap:normal}.language-switcher a{font-size:.8125rem}}
@media(max-width:540px){.language-switcher{flex-basis:100%;justify-content:center;border:none;padding:0}.language-switcher a{min-width:48px}.header{padding-bottom:8px}.hero{padding-top:20px}}
@media print{.language-switcher{display:none}}
/* Keep translated and enlarged text within narrow columns. */
.hero>*,.about>*,.contact>*,.project-card{min-width:0}
.project-card p,.professional-focus p,.about-content>p,.trajectory-content p,.expertise span,.text-link,.button,.contact-utilities a,.contact-utilities button{overflow-wrap:anywhere}
@media(max-width:540px){.project-grid{grid-template-columns:minmax(0,1fr)}}
.developer-credit{font-size:12px;line-height:1.5;text-align:center}
.developer-credit strong{font-weight:600}
.developer-credit a{display:inline-flex;align-items:center;min-height:44px;text-decoration:underline;text-underline-offset:3px}
.developer-credit a:hover{color:var(--blue)}
@media(max-width:760px){.developer-credit{font-size:.875rem}}
