@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;1,300;1,400&family=Noto+Sans+JP:wght@300;400;500&family=Noto+Sans+KR:wght@300;400;500&family=Noto+Sans+SC:wght@300;400;500&family=Noto+Serif+Thai:wght@300;400;500;600&family=Jost:wght@300;400;500&family=Sarabun:wght@300;400;500;600&display=swap');

/* Cormorant Garamond has no Thai glyphs, so Thai headlines were silently
   falling back to the browser's default serif with no intentional pairing.
   Noto Serif Thai is added to the same stack so Thai characters render in a
   display face chosen to sit with Cormorant Garamond, while Latin text
   (brand name, eyebrows) still renders in Cormorant Garamond unchanged. */
:root{--ink:#1a2b4a;--ink-soft:#11203c;--paper:#fbfaf5;--canvas:#f4f1e9;--cloud:#e8f0f2;--line:rgba(26,43,74,.12);--muted:#667180;--gold:#a8904a;--lilac:#e8f0f2;--violet:#2d6a7a;--radius:2px;--display:"Cormorant Garamond","Noto Serif Thai","Noto Sans JP","Noto Sans SC","Noto Sans KR",Georgia,serif;--body:"Sarabun","Noto Sans JP","Noto Sans SC","Noto Sans KR",Arial,sans-serif;--mono:"Jost","Noto Sans JP","Noto Sans SC","Noto Sans KR",Arial,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--canvas);color:var(--ink);font:400 17px/1.78 var(--body)}
a{color:inherit;text-decoration:none}
a:hover{text-decoration:none}
:focus-visible{outline:2px solid var(--violet);outline-offset:4px}
.site-header{min-height:78px;padding:0 max(24px,calc((100% - 1200px)/2));background:var(--ink);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:30px;border-bottom:1px solid #ffffff1f}
.wordmark{display:inline-flex;align-items:center;gap:9px;font:400 25px/1 var(--display);letter-spacing:.025em}.wordmark:before{content:"";width:28px;height:28px;flex:0 0 28px;background:url("best-infinity-mark.png") center/contain no-repeat}.wordmark small{margin-left:2px;color:#c4cfca;font:400 9px/1 var(--mono);letter-spacing:.18em}
.site-nav{display:flex;gap:24px;color:#d4ddd8;font:400 11px var(--mono);letter-spacing:.1em;text-transform:uppercase}
.site-nav a{padding:29px 0 26px;border-bottom:1px solid transparent}
.site-nav a:hover,.site-nav a[aria-current="page"]{border-color:var(--gold);color:#fff}
.shell{width:min(1120px,calc(100% - 48px));margin:auto}
.eyebrow{margin:0;color:var(--gold);font:500 11px/1.45 var(--mono);letter-spacing:.16em;text-transform:uppercase}
.hero{background:var(--ink);color:#fff;min-height:640px;padding:118px 0 86px}
.hero--compact{min-height:470px}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(270px,.62fr);gap:76px;align-items:end}
.hero h1,.section-title{font:300 clamp(48px,6vw,82px)/.95 var(--display);letter-spacing:-.045em;margin:20px 0 26px}
.hero h1 em{font-weight:300;color:#d3c49b}
.hero-copy{max-width:590px;margin:0;color:#d4ddd8;font-size:18px;line-height:1.8}
.hero-note{border-top:1px solid #ffffff42;padding-top:19px;color:#d4ddd8;font-size:15px;line-height:1.7}
.hero-note strong{display:block;color:var(--gold);font:500 10px var(--mono);letter-spacing:.11em;margin-bottom:8px}
.action-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.button{display:inline-flex;justify-content:center;align-items:center;min-height:47px;padding:10px 19px;border:1px solid transparent;background:#fff;color:var(--ink);font:500 10px var(--mono);letter-spacing:.13em;text-transform:uppercase;transition:background .25s ease,color .25s ease}
.button:hover{transform:none;background:var(--violet);color:#fff}
.button--ghost{background:transparent;border-color:#ffffff7a;color:#fff}
.button--dark{background:var(--ink);color:#fff}
.button--dark:hover{background:var(--ink-soft)}
.section{padding:112px 0;border-bottom:1px solid var(--line)}
.section--cloud{background:var(--cloud)}
.section--paper{background:var(--paper)}
.section--ink{background:var(--ink);color:#fff}
.section-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.55fr);gap:48px;align-items:end}
.section-title{font-size:clamp(39px,4.3vw,62px);margin-bottom:0}
.section-intro{margin:0;max-width:500px;color:var(--muted);font-size:17px;line-height:1.75}
.decision-flow{display:grid;grid-template-columns:repeat(3,1fr);margin-top:54px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.flow-step{min-height:242px;padding:30px 28px;border-right:1px solid var(--line)}
.flow-step:last-child{border:0}
.flow-number{color:var(--gold);font:500 10px var(--mono);letter-spacing:.11em}
.flow-step h3,.service-card h3,.company-card h3,.product-row h3{font:400 29px/1.1 var(--display);letter-spacing:-.035em;margin:27px 0 12px}
.flow-step p,.service-card p,.company-card p{margin:0;color:var(--muted);font-size:16px;line-height:1.72}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:48px}
.service-card{position:relative;padding:31px 27px 32px;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);transition:background .28s ease}
.service-card:after{content:"";position:absolute;right:27px;bottom:0;left:27px;height:2px;background:var(--violet);transform:scaleX(0);transform-origin:left;transition:transform .28s ease}
.service-card:hover{background:#f1eee6}.service-card:hover:after{transform:scaleX(1)}
.service-card h3{margin-top:22px}
.company-map{margin-top:50px;border-top:1px solid var(--line)}
.company-card{display:grid;grid-template-columns:150px minmax(0,1fr) minmax(180px,.55fr);gap:28px;padding:29px 0;border-bottom:1px solid var(--line);align-items:center}
.company-card .role{color:var(--gold);font:500 10px/1.5 var(--mono);letter-spacing:.11em}
.company-card h3{margin:0;font-size:31px}
.company-card--nirva{margin:24px 0 0;padding:24px;background:var(--ink);border:0;border-radius:var(--radius);color:#fff}
.company-card--nirva .role,.company-card--nirva p{color:#d8e0e8}
.company-card--nirva h3{color:#fff}
.company-card--nirva img{width:82px;height:82px;object-fit:cover;border-radius:16px}
.product-stage{margin-top:52px;display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.72fr);gap:56px;align-items:start}
.product-list{border-top:1px solid var(--line)}
.product-row{display:grid;grid-template-columns:62px minmax(0,1fr) auto;gap:18px;align-items:center;padding:19px 0;border-bottom:1px solid var(--line)}
.product-row img{width:62px;height:62px;border-radius:14px;object-fit:cover;background:#e5e9e8}
.product-row h3{font-size:22px;margin:0}
.product-row p{margin:5px 0 0;color:var(--muted);font-size:12px;line-height:1.6}
.status{padding:4px 7px;background:var(--lilac);color:#584a9e;font:500 9px var(--mono);letter-spacing:.03em;white-space:nowrap}
.learning-note{padding:30px;background:var(--ink);color:#fff;border-radius:var(--radius)}
.learning-note img{width:86px;height:86px;object-fit:cover;border-radius:50%;float:right;margin:0 0 14px 18px}
.learning-note h3{font:400 30px/1.1 var(--display);margin:15px 0}
.learning-note p{margin:0;color:#d6dfe5;font-size:13px}
.learning-note .eyebrow{color:#c8b98f}
.boundary{margin-top:28px;padding:16px 18px;border-left:2px solid var(--gold);background:#fbfaf6;color:#51554f;font-size:12px;line-height:1.75}
.quote-block{padding:42px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:145px minmax(0,1fr);gap:30px}
.quote-block h2{font:400 clamp(32px,4vw,52px)/1.12 var(--display);letter-spacing:-.04em;margin:0;max-width:830px}
.quote-block p{margin:12px 0 0;color:var(--muted)}
.site-footer{padding:38px max(24px,calc((100% - 1200px)/2));background:var(--ink);color:#d4ddd8;display:flex;justify-content:space-between;gap:24px;font:400 10px var(--mono);letter-spacing:.08em}
.site-footer .wordmark{color:#fff}
.site-footer small{color:#aab9c5}
.legal-note{max-width:760px;margin-top:38px;padding:18px 20px;background:#e9efed;border-left:2px solid #67877a;color:#425550;font-size:12px}
.contact-dock{padding:54px 0;background:var(--ink);color:#fff}.contact-dock__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.9fr);gap:44px;align-items:end}.contact-dock h2{margin:16px 0 0;font:400 clamp(34px,4vw,54px)/1 var(--display);letter-spacing:-.04em}.contact-dock p{margin:18px 0 0;max-width:600px;color:#d4ddd8;font-size:14px}.contact-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:#ffffff24;border:1px solid #ffffff24}.contact-links a{min-height:79px;padding:16px 18px;background:var(--ink);color:#fff;transition:background .2s ease}.contact-links a:hover{background:var(--violet)}.contact-links b{display:block;font:500 10px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:#d3c49b}.contact-links span{display:block;margin-top:7px;font-size:13px;line-height:1.35}.contact-links .contact-links__wide{grid-column:1/-1}.contact-dock__note{margin-top:14px;color:#b9c7c1;font-size:11px;line-height:1.65}
.simple-list{margin:45px 0 0;padding:0;list-style:none;border-top:1px solid var(--line)}
.simple-list li{display:grid;grid-template-columns:150px minmax(0,1fr);gap:25px;padding:22px 0;border-bottom:1px solid var(--line)}
.simple-list b{font:500 10px/1.5 var(--mono);letter-spacing:.1em;color:var(--gold)}
.simple-list span{color:var(--muted)}
.team-gallery{display:grid;grid-template-columns:1.15fr .85fr;gap:16px;margin-top:52px}.team-gallery--three{grid-template-columns:repeat(3,1fr)}.team-gallery figure{margin:0;background:var(--ink);overflow:hidden}.team-gallery img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;filter:brightness(.84) saturate(.86);transition:filter .5s ease,transform .8s ease}.team-gallery figure:hover img{filter:brightness(1) saturate(1);transform:scale(1.035)}.team-gallery figcaption{padding:16px 18px;color:#d4ddd8;font-size:12px;line-height:1.65}
.story-grid{display:grid;grid-template-columns:minmax(300px,.92fr) minmax(0,1.08fr);gap:72px;align-items:center}.organization-story figure,.service-story figure{margin:0;background:#061010}.organization-story img,.service-story img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;filter:brightness(.88) saturate(.8)}.organization-story figcaption{padding:15px 18px;color:#c7d1cd;font-size:12px}.service-story figcaption{padding:15px 18px;color:#d4ddd8;font-size:12px}.organization-story .section-title{color:#fff;margin:18px 0 22px}.organization-story p:not(.eyebrow),.service-story p:not(.eyebrow){max-width:580px;margin:0;color:#c7d1cd}.service-story p:not(.eyebrow){color:var(--muted)}.home-work-story img{filter:brightness(.9) saturate(.9)}.text-link{display:inline-flex;gap:16px;margin-top:31px;padding-bottom:8px;border-bottom:1px solid var(--gold);color:#fff;font:500 10px var(--mono);letter-spacing:.1em;text-transform:uppercase}.text-link--dark{color:var(--ink)}.text-link span{color:var(--gold);font-size:17px;line-height:.7}
@media(max-width:820px){.hero-grid,.section-head,.product-stage,.story-grid,.contact-dock__grid{grid-template-columns:1fr;gap:32px}
.hero{min-height:auto;padding:84px 0 64px}
.hero-note{max-width:560px}
.company-card{grid-template-columns:120px minmax(0,1fr)}
.company-card>p{grid-column:2}
.decision-flow,.service-grid,.team-gallery{grid-template-columns:1fr}
.flow-step{min-height:auto;border-right:0;border-bottom:1px solid var(--line)}
.flow-step:last-child{border-bottom:0}
.site-footer{flex-direction:column}
.product-stage{margin-top:40px}
}
@media(max-width:560px){.site-header{min-height:64px;padding:0 20px}
.site-nav{display:none}
.shell{width:min(100% - 40px,1120px)}
.hero h1{font-size:48px}
.section{padding:70px 0}
.company-card{grid-template-columns:1fr;gap:12px}
.company-card>p{grid-column:auto}
.company-card--nirva img{display:none}
.product-row{grid-template-columns:55px minmax(0,1fr)}
.product-row img{width:55px;height:55px}
.status{display:none}
.quote-block,.simple-list li{grid-template-columns:1fr;gap:14px}
.learning-note img{width:72px;height:72px}
.site-footer{padding:28px 20px}
.contact-links{grid-template-columns:1fr}
.contact-links .contact-links__wide{grid-column:auto}
}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.language-switch{position:relative;display:inline-flex;align-items:center}.language-switch:after{content:"⌄";position:absolute;right:11px;color:#d4ddd8;font:15px/1 Arial;pointer-events:none}.language-switch select{min-width:84px;min-height:34px;padding:0 28px 0 11px;appearance:none;border:1px solid #ffffff3b;border-radius:999px;background:#ffffff0b;color:#fff;font:500 10px/1 var(--mono);letter-spacing:.04em;cursor:pointer}.language-switch select:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.language-switch option{color:var(--ink);background:var(--paper)}
.group-story-card{margin-top:48px;padding:38px 40px;background:var(--paper);border:1px solid var(--line);border-top:3px solid var(--gold);box-shadow:0 14px 30px #11203c0b}.group-story-card h3{max-width:780px;margin:16px 0;font:400 clamp(30px,3.2vw,46px)/1.08 var(--display);letter-spacing:-.04em}.group-story-card p:not(.eyebrow){max-width:760px;margin:0;color:var(--muted);font-size:17px;line-height:1.75}.group-story-card .status{display:inline-block;margin-top:24px}@media(max-width:560px){.wordmark{font-size:21px}.wordmark small{display:none}.language-switch{margin-left:auto}.group-story-card{margin-top:34px;padding:28px 24px}.group-story-card p:not(.eyebrow){font-size:16px}}

.nirva-universe{padding:112px 0 104px;background:#eff3ed;border-bottom:1px solid var(--line)}.nirva-universe__canvas{position:relative;isolation:isolate;min-height:530px;overflow:hidden;background:var(--ink);border:1px solid #ffffff24;box-shadow:0 22px 48px #11203c1f}.nirva-universe__backdrop{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;opacity:.98}.nirva-universe__canvas:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#fbf3d4 0%,#fbf3d4e8 38%,#fbf3d42b 66%,#11203c12 100%);pointer-events:none}.nirva-universe__copy{position:relative;z-index:1;width:min(52%,570px);padding:75px 0 66px 7.5%}.nirva-universe__copy h2{margin:17px 0 20px;color:var(--ink);font:400 clamp(39px,4.5vw,62px)/.98 var(--display);letter-spacing:-.045em}.nirva-universe__copy h2 em{font-style:italic;color:#56707a}.nirva-universe__copy p:not(.eyebrow){margin:0;color:#40515b;font-size:16px;line-height:1.8}.nirva-universe__mascots{position:absolute;z-index:1;right:6.5%;bottom:24px;width:34%;height:80%;pointer-events:none}.nirva-universe__nova{position:absolute;right:3%;bottom:2%;width:min(100%,300px);filter:drop-shadow(0 16px 20px #07142a69);transform:rotate(-2deg)}.nirva-universe__mark{position:absolute;top:8%;left:0;width:105px;filter:drop-shadow(0 9px 12px #07142a33);border-radius:24px}.nirva-character-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:18px}.nirva-character-card{min-height:278px;padding:20px;background:var(--paper);border:1px solid var(--line);box-shadow:0 10px 24px #11203c0a;transition:transform .25s ease,box-shadow .25s ease}.nirva-character-card:hover{transform:translateY(-4px);box-shadow:0 17px 30px #11203c17}.nirva-character-card>img{display:block;width:92px;height:92px;margin:0 0 18px;object-fit:contain;filter:drop-shadow(0 7px 10px #11203c21)}.nirva-character-card h3{margin:10px 0 8px;font:400 27px/1.05 var(--display);letter-spacing:-.035em}.nirva-character-card p:not(.eyebrow){margin:0;color:var(--muted);font-size:14px;line-height:1.65}.nirva-universe__boundary{max-width:850px;margin:26px auto 0;padding:16px 19px;border-left:2px solid var(--gold);color:#526267;font-size:13px;line-height:1.7}@media(max-width:900px){.nirva-universe__canvas{min-height:620px}.nirva-universe__copy{width:min(63%,560px);padding-left:7%}.nirva-universe__mascots{right:3%;width:35%}.nirva-character-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:620px){.nirva-universe{padding:70px 0}.nirva-universe__canvas{min-height:710px}.nirva-universe__backdrop{object-position:63% center}.nirva-universe__canvas:after{background:linear-gradient(180deg,#fbf3d4f4 0%,#fbf3d4e8 61%,#11203c1c 100%)}.nirva-universe__copy{width:100%;padding:48px 28px 0}.nirva-universe__copy h2{font-size:42px}.nirva-universe__mascots{right:22px;bottom:10px;width:54%;height:46%}.nirva-universe__mark{top:0;width:76px}.nirva-character-grid{grid-template-columns:1fr;gap:10px;margin-top:12px}.nirva-character-card{display:grid;grid-template-columns:82px 1fr;gap:17px;min-height:0;padding:19px}.nirva-character-card>img{width:76px;height:76px;margin:0;grid-row:1/3}.nirva-character-card h3{margin-top:5px}.nirva-character-card p:not(.eyebrow){grid-column:2}.nirva-universe__boundary{margin-top:18px}}

/* Shared public-group navigation card. */
.group-link-card{display:grid;grid-template-columns:120px minmax(0,1fr) auto;column-gap:24px;row-gap:5px;align-items:center;padding:24px 28px;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);color:var(--ink);box-shadow:0 10px 26px #11203c0a;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.group-link-card:hover{border-color:#a99a70;box-shadow:0 14px 30px #11203c12;transform:translateY(-2px)}.group-link-card:focus-visible{outline:3px solid var(--violet);outline-offset:4px}.group-link-card .eyebrow{grid-column:1;grid-row:1/3;margin:0}.group-link-card strong{grid-column:2;font:400 28px/1.05 var(--display);letter-spacing:-.03em}.group-link-card>span:last-of-type{grid-column:2;color:var(--muted);font-size:13px;line-height:1.6}.group-link-card b{grid-column:3;grid-row:1/3;color:var(--gold);font-size:24px;font-weight:400}
