:root{color-scheme:dark;--paper:#f0e9dd;--muted:#b6ada0;--amber:#d7ad73;--line:#d4c2a12c;--sans:"Helvetica Neue",Arial,"Microsoft YaHei",sans-serif;--serif:"Songti SC","SimSun",Georgia,serif}*{box-sizing:border-box}html{background:#191613}body{margin:0;color:var(--paper);font:14px/1.9 var(--sans);-webkit-font-smoothing:antialiased;position:relative;isolation:isolate}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}button{cursor:pointer;color:inherit;border:0;background:none}button,a,input,select,textarea{touch-action:manipulation}:focus-visible{outline:1px solid var(--amber);outline-offset:5px}::selection{background:#b7793b;color:white}.atmosphere{position:fixed;inset:0;overflow:hidden;z-index:-1;background:radial-gradient(ellipse at 72% 62%,#493323 0,transparent 53%),#191613;isolation:isolate}.light{position:absolute;pointer-events:none}.light-a{width:62vw;height:150vh;left:48%;top:-24%;border-radius:50%;background:linear-gradient(92deg,transparent 18%,#f5c18719 37%,#cf8b4659 48%,#f6d4aa91 52%,#9b622b29 60%,transparent 68%);transform:rotate(32deg);filter:blur(24px)}.light-b{width:65vw;height:140vh;left:67%;top:-26%;border-radius:50%;border-left:70px solid #b4783b5c;transform:rotate(29deg);filter:blur(30px)}.light-c{width:75vw;height:45vh;left:22%;top:72%;background:radial-gradient(ellipse,#a46e393d,transparent 65%);filter:blur(40px);transform:rotate(-22deg)}.grain{position:absolute;inset:0;opacity:.08;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23fff' filter='url(%23n)' d='M0 0h180v180H0z'/%3E%3C/svg%3E")}.left-haze{position:absolute;inset:0 auto 0 0;width:35%;backdrop-filter:blur(28px);background:linear-gradient(90deg,#16131099,#211c1722,transparent);mask-image:linear-gradient(90deg,#000 60%,transparent)}body[data-page=about] .light-a{left:40%;top:-42%;transform:rotate(-31deg);width:95vw;filter:blur(38px)}body[data-page=about] .light-b{left:76%;transform:rotate(-25deg)}body[data-page=services] .light-a{left:62%;top:-15%;transform:rotate(3deg);width:40vw;filter:blur(25px)}body[data-page=services] .light-b{left:70%;transform:rotate(10deg);width:40vw;border-left-width:35px}body[data-page=insights] .light-a{left:49%;top:4%;transform:rotate(65deg);opacity:.65}body[data-page=insights] .light-b{left:64%;top:30%;transform:rotate(72deg);opacity:.6}body[data-page=contact] .light-a{left:-28%;top:-22%;transform:rotate(-28deg);width:100vw;opacity:.55}body[data-page=contact] .light-b{left:15%;top:30%;transform:rotate(-44deg);opacity:.4}body[data-page=contact] .atmosphere{background:radial-gradient(ellipse at 20% 58%,#503721 0,transparent 60%),#191613}
header{height:110px;display:flex;align-items:center;justify-content:space-between;padding:0 4.8vw;position:relative;z-index:20}.brand{position:absolute;left:50%;transform:translateX(-50%);text-align:center;line-height:1.6}.brand strong{display:block;font:18px/1.6 Georgia,serif;letter-spacing:.27em;margin-right:-.27em;font-weight:400}.brand span{display:block;font:12px/1.6 var(--serif);letter-spacing:.48em;margin-right:-.48em;color:#d8c8b3}.menu-toggle{display:flex;align-items:center;gap:13px;font-size:11px;letter-spacing:.15em;padding:12px 0;min-height:44px}.menu-lines{width:22px;display:grid;gap:6px}.menu-lines i{height:1px;background:#d7cec0;width:22px;transition:transform .25s}.menu-toggle[aria-expanded=true] i:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] i:last-child{transform:translateY(-3.5px) rotate(-45deg)}.language{font-size:11px;letter-spacing:.12em;padding:12px 0;min-width:44px;min-height:44px}.language span{color:var(--amber);margin-left:9px}.drawer{position:fixed;inset:0 auto 0 0;width:min(390px,85vw);z-index:15;background:#241d15a8;backdrop-filter:blur(36px);border-right:1px solid #d4c2a119;padding:150px 4.8vw 45px;display:flex;flex-direction:column}.drawer[hidden],.scrim[hidden],dialog:not([open]){display:none}.drawer nav{display:grid;gap:21px}.drawer a{font-size:14px;letter-spacing:.12em;padding:8px 0;display:flex;align-items:center;gap:20px}.drawer .nav-number{font:10px Georgia,serif;color:#bda589}.drawer a[aria-current=page],.drawer a:hover{color:var(--amber)}.drawer-bottom{margin-top:auto;color:#bcad98;font-size:10px;letter-spacing:.12em;line-height:2.3}.scrim{position:fixed;inset:0;background:#0003;z-index:14;border:0;width:100%;height:100%}body.menu-open{overflow:hidden}
main{min-height:calc(100svh - 182px);padding:78px 12vw 85px}.eyebrow{font-size:10px;letter-spacing:.24em;color:var(--amber);margin:0 0 24px;display:flex;align-items:center;gap:17px}.eyebrow:before{content:"";width:28px;height:1px;background:var(--amber)}h1,h2,h3,p{margin-top:0}h1{font:400 clamp(29px,3.1vw,47px)/1.7 var(--serif);letter-spacing:.12em;margin-bottom:27px}html[lang=en] h1{font-family:Georgia,serif;letter-spacing:-.01em;line-height:1.35;font-size:clamp(34px,3.6vw,54px)}.lead{max-width:420px;color:var(--muted);font-size:13px;line-height:2.2;letter-spacing:.06em}.text-link{display:inline-flex;align-items:center;gap:34px;font-size:12px;letter-spacing:.1em;padding:10px 0;border-bottom:1px solid #c7ad8060}.text-link b{font-weight:400;font-size:19px;transition:transform .2s}.text-link:hover b{transform:translateX(5px)}.home-main{display:flex;flex-direction:column;justify-content:center;min-height:calc(100svh - 182px);padding-top:45px;padding-bottom:100px}.home-main h1{font-size:clamp(34px,4vw,58px);letter-spacing:.15em;margin-bottom:25px}.home-main .lead{max-width:395px;margin-bottom:37px}.hero-index{position:absolute;right:4.8vw;bottom:100px;color:#c6a77e;font:10px Georgia,serif;letter-spacing:.14em;display:flex;gap:16px;align-items:center}.hero-index:before{content:"";width:72px;height:1px;background:#bea07866}.home-main .text-link{align-self:flex-start}.split{display:grid;grid-template-columns:1fr 1fr;gap:9vw}.prose{padding-top:55px;max-width:465px}.prose p{font-size:13px;color:var(--muted);line-height:2.3;letter-spacing:.045em;margin-bottom:25px}.values{display:flex;gap:35px;padding-top:24px;border-top:1px solid var(--line);margin:36px 0}.values span{color:#d4b28a;font-size:12px;letter-spacing:.15em}.service-list{margin:0;padding:0;list-style:none}.service-list li{display:grid;grid-template-columns:30px 1fr;gap:18px;padding:23px 0;border-bottom:1px solid var(--line)}.service-list li:first-child{padding-top:0}.number{font:11px/2.5 Georgia,serif;color:#c9a477}.service-list h2{font:400 20px/1.6 var(--serif);letter-spacing:.05em;margin-bottom:8px}.service-list p{font-size:12px;color:var(--muted);line-height:2;margin:0}.aside-link{margin-top:36px}.research-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:35px;margin-bottom:35px}.research-intro h1{margin:0}.research-intro .lead{margin:0;max-width:260px}.article-list{border-top:1px solid var(--line)}.article-list details{border-bottom:1px solid var(--line)}.article-list summary{list-style:none;display:grid;grid-template-columns:80px 1fr 25px;gap:35px;align-items:center;padding:27px 0;cursor:pointer}.article-list summary::-webkit-details-marker{display:none}.article-list .category{font-size:10px;letter-spacing:.09em;color:#c3a17a}.article-list h2{font:400 20px/1.7 var(--serif);margin:0;letter-spacing:.035em}.article-list .plus{font-size:23px;font-weight:200;color:var(--amber)}details[open] .plus{transform:rotate(45deg)}.article-list .abstract{margin:0 60px 26px 115px;max-width:640px;color:var(--muted);font-size:12px;line-height:2.1}.sample-note{color:#a99a85;font-size:10px;letter-spacing:.08em;margin-top:24px}.contact-layout{display:grid;grid-template-columns:.85fr 1.2fr;gap:9vw}.contact-copy h1{font-size:36px;line-height:1.7}.contact-copy .lead{max-width:300px}.email-block{border-top:1px solid var(--line);margin-top:55px;padding-top:21px;color:var(--muted);font-size:11px}.email-block span{display:block;color:var(--amber);font-size:9px;letter-spacing:.15em;margin-bottom:8px}.email-block strong{font-weight:400;font-size:13px;letter-spacing:.03em}.contact-main{padding-top:48px}.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:22px 24px;padding-top:7px}.field{display:grid;gap:8px}.field label{font-size:11px;letter-spacing:.06em;color:#d8cabb}.field input,.field select,.field textarea{border:0;border-bottom:1px solid #b49a774d;width:100%;border-radius:0;background:#211c1622;padding:9px 0;color:var(--paper);font-size:13px;min-height:42px}.field input::placeholder,.field textarea::placeholder{color:#a09485;font-size:12px}.field select{appearance:auto;cursor:pointer;color:#b9ad9c}.field select option{background:#261f19;color:var(--paper)}.full{grid-column:1/-1}.field textarea{min-height:83px;resize:vertical}.consent{display:flex;align-items:flex-start;gap:11px;font-size:10px;line-height:1.9;color:var(--muted)}.consent input{accent-color:#c6a476;width:14px;height:14px;flex-shrink:0;margin-top:3px}.terms-link{text-decoration:underline;text-underline-offset:3px;font-size:inherit;color:#d7bb94;padding:0}.submit{display:flex;align-items:center;gap:45px;justify-content:space-between;border:1px solid #c6a37488;padding:11px 21px;font-size:11px;letter-spacing:.12em;min-width:140px;justify-self:start}.submit:hover{background:#c6a37418}.form-status{margin:0;font-size:11px;color:#e4bc88;min-height:20px}.prototype-note{color:#a89a87;font-size:10px;margin:0}.footer{height:72px;margin:0 4.8vw;display:flex;align-items:center;justify-content:space-between;gap:25px;border-top:1px solid #d4c2a115;color:#a89d8e;font-size:9px;letter-spacing:.13em}.footer .principles{color:#bdab93}.footer small{font:9px Arial,sans-serif;letter-spacing:.12em}dialog{background:#241e18;color:var(--paper);border:1px solid #bda17c77;padding:36px;max-width:500px;width:calc(100% - 40px)}dialog::backdrop{background:#0009;backdrop-filter:blur(8px)}dialog h2{font:24px var(--serif)}dialog p{font-size:13px;color:var(--muted)}dialog button{border-bottom:1px solid var(--amber);padding:6px 0;color:var(--amber)}
@media(min-width:1500px){main{max-width:1500px;margin:auto}.home-main{padding-left:14vw}}@media(max-width:1000px){main{padding:60px 8vw 65px}.split,.contact-layout{gap:6vw}.contact-copy h1{font-size:30px}.research-intro{display:block}.research-intro .lead{margin-top:15px;max-width:none}.light-a{width:80vw;left:38%}}
@media(max-width:640px){header{height:90px;padding:0 6vw}.brand strong{font-size:14px;letter-spacing:.2em}.brand span{font-size:10px}.menu-toggle{font-size:0;gap:0;width:44px}.language{font-size:10px}.language span{margin-left:5px}.drawer{padding:125px 8vw 35px}.drawer nav{gap:20px}.drawer a{font-size:14px}.drawer-bottom{font-size:9px}main{padding:48px 8vw 55px;min-height:calc(100svh - 170px)}.home-main{min-height:calc(100svh - 170px);padding-top:15px;padding-bottom:100px}.home-main h1{font-size:32px;letter-spacing:.10em}.home-main .lead{font-size:12px;max-width:270px}.eyebrow{font-size:9px;letter-spacing:.17em;margin-bottom:22px}.hero-index{bottom:105px;right:8vw}.hero-index:before{width:38px}.footer{margin:0 6vw;min-height:80px;height:auto;flex-wrap:wrap;padding:20px 0;gap:8px 20px;font-size:8px}.footer .principles{display:none}.footer small{font-size:8px}.split,.contact-layout{grid-template-columns:1fr;gap:35px}h1{font-size:29px;letter-spacing:.09em}.prose{padding-top:0}.prose p{font-size:13px}.values{margin:25px 0}.service-list h2{font-size:19px}.service-list li{padding:20px 0}.article-list summary{grid-template-columns:1fr 20px;gap:6px 15px;padding:23px 0}.article-list .category{grid-column:1/-1}.article-list h2{font-size:19px}.article-list .abstract{margin:0 0 24px;font-size:12px}.contact-main{padding-top:40px}.contact-copy h1{font-size:30px;margin-bottom:17px}.contact-copy .lead{max-width:100%}.email-block{margin-top:28px}.contact-form{gap:20px 16px}.contact-form .field{grid-column:1/-1}.field label{font-size:12px}.field input,.field select,.field textarea{font-size:16px}.contact-form .consent{font-size:11px}.light-a{left:30%;width:120vw;filter:blur(22px);opacity:.8}.light-b{left:70%;width:120vw;opacity:.7}.light-c{width:130vw;left:0}.left-haze{width:55%}body[data-page=contact] .light-a{left:-70%;width:160vw}.sample-note{font-size:10px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
@media(max-width:360px){.contact-copy h1{font-size:25px}.home-main h1{font-size:27px}.values{gap:20px}html[lang=en] .values{font-size:11px;gap:17px}}

/* Sunset glass facade: page-specific photographic backgrounds. */
.atmosphere{background:linear-gradient(90deg,#100e0d66,transparent 62%),url('assets/sunset-glass-clear.png') center/cover no-repeat,#191613}
.light,.grain{display:none}
body[data-page=about] .atmosphere{background:linear-gradient(90deg,#100e0d80,#100e0d52),url('assets/sunset-about.png') center/cover no-repeat}
body[data-page=services] .atmosphere{background:linear-gradient(90deg,#100e0d85,#100e0d70),url('assets/sunset-services.png') center/cover no-repeat}
body[data-page=insights] .atmosphere{background:linear-gradient(90deg,#100e0d80,#100e0d73),url('assets/sunset-insights.png') center/cover no-repeat}
body[data-page=contact] .atmosphere{background:linear-gradient(90deg,#100e0d55,#100e0d85),url('assets/sunset-contact.png') center/cover no-repeat}
.left-haze{width:32%;backdrop-filter:blur(15px);background:linear-gradient(90deg,#14131033,transparent)}
.drawer{width:min(450px,91vw);background:linear-gradient(90deg,#1716147d,#17161410);backdrop-filter:blur(24px);border-right:0}
.drawer nav{gap:23px}.drawer a{transform:translateX(0);font-size:13px;white-space:nowrap}
.drawer:not([hidden]) nav a{animation:menu-launch .48s cubic-bezier(.16,1,.3,1) both;animation-delay:calc(var(--item)*75ms)}
@keyframes menu-launch{from{opacity:0;filter:blur(8px);transform:translateX(-100px)}to{opacity:1;filter:blur(0);transform:translateX(0)}}
.drawer .nav-number{display:none}.scrim{background:#0001}.footer{justify-content:flex-end;border-top:0}.brand{min-height:50px;display:flex;flex-direction:column;justify-content:center}
@media(max-width:640px){.atmosphere{background-position:52% center}.drawer{padding-left:8vw;padding-right:6vw}.drawer nav{gap:24px}.drawer a{font-size:12px;transform:translateX(0)}.left-haze{width:65%}@keyframes menu-launch{from{opacity:0;filter:blur(7px);transform:translateX(-80px)}to{opacity:1;filter:blur(0);transform:translateX(0)}}}
@media(prefers-reduced-motion:reduce){.drawer:not([hidden]) nav a{animation:none}}

body.menu-open main,body.menu-open .footer{opacity:0;pointer-events:none}
.drawer{background:none;backdrop-filter:none;isolation:isolate}.drawer::before{content:"";position:absolute;inset:0 -80px 0 0;z-index:-1;background:linear-gradient(90deg,#1716148c,#17161418);backdrop-filter:blur(24px);mask-image:linear-gradient(90deg,#000 65%,transparent)}

/* Background is sharp until the navigation opens; menu rows align. */
.left-haze{display:none}
.drawer a{transform:translateX(0)}

/* Five living photographic scenes: slow camera drift and warm reflections. */
.atmosphere{inset:-4%;transform-origin:50% 55%;animation:scene-drift 24s ease-in-out infinite alternate;will-change:transform;--glow-x:30%;--glow-y:54%}
.atmosphere::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at var(--glow-x) var(--glow-y),#ffc48220,transparent 40%);mix-blend-mode:screen;animation:sunset-breathe 12s ease-in-out infinite alternate;pointer-events:none}
.atmosphere::after{content:"";position:absolute;left:-15%;right:-15%;top:62%;bottom:-8%;background:linear-gradient(110deg,transparent 28%,#ffc27700 40%,#ffc27715 47%,#ffc27700 54%,transparent 67%);mix-blend-mode:screen;animation:reflection-drift 17s ease-in-out infinite alternate;pointer-events:none}
body[data-page=about] .atmosphere{animation-name:scene-rise;animation-duration:28s;transform-origin:65% 50%;--glow-x:78%;--glow-y:51%}
body[data-page=services] .atmosphere{animation-name:scene-drift-reverse;animation-duration:26s;transform-origin:45% 60%;--glow-x:40%;--glow-y:53%}
body[data-page=insights] .atmosphere{animation-name:scene-pan;animation-duration:30s;transform-origin:55% 58%;--glow-x:20%;--glow-y:52%}
body[data-page=contact] .atmosphere{animation-name:scene-drift;animation-duration:27s;transform-origin:48% 50%;--glow-x:22%;--glow-y:48%}
@keyframes scene-drift{from{transform:scale(1.02) translate(-.9%,.4%)}to{transform:scale(1.10) translate(.9%,-.6%)}}
@keyframes scene-drift-reverse{from{transform:scale(1.09) translate(.9%,.3%)}to{transform:scale(1.02) translate(-.9%,-.4%)}}
@keyframes scene-rise{from{transform:scale(1.02) translate(.5%,.8%)}to{transform:scale(1.09) translate(-.6%,-.8%)}}
@keyframes scene-pan{from{transform:scale(1.05) translate(-1.2%,.2%)}to{transform:scale(1.08) translate(1.2%,-.4%)}}
@keyframes sunset-breathe{from{opacity:.25}to{opacity:.8}}
@keyframes reflection-drift{from{transform:translateX(-4%);opacity:.3}to{transform:translateX(4%);opacity:.75}}
.motion-paused .atmosphere,.motion-paused .atmosphere::before,.motion-paused .atmosphere::after{animation-play-state:paused}
@media(max-width:640px){.atmosphere{inset:-3%;animation-duration:30s}.atmosphere::after{opacity:.4}}
@media(prefers-reduced-motion:reduce){.atmosphere,.atmosphere::before,.atmosphere::after{animation:none!important;transform:none;will-change:auto}.atmosphere::before,.atmosphere::after{display:none}}
