/* Lochin Web — Quiet Future v0.2, user-approved hero preserved, inner pages refined */
:root{
  --paper:#f5f6f6;--white:#fafbfb;--mist:#e9ecee;--mist-blue:#dce4ea;
  --ink:#263139;--ink-soft:#5e6972;--pale:#89969f;--line:#d8dde0;
  --deep:#28343d;--snow:#f1f3f4;--serif:"Inter Display","Inter","Helvetica Neue",Arial,sans-serif;
  --safe:clamp(24px,5.25vw,108px);--section:clamp(90px,11vw,185px);
}
*,*:before,*:after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:96px}
body{margin:0;min-width:320px;color:var(--ink);background:var(--paper);font-family:"Helvetica Neue",Arial,"PingFang SC","Noto Sans CJK SC","Microsoft YaHei",sans-serif;font-weight:400;-webkit-font-smoothing:antialiased}
button,input{font:inherit}button{cursor:pointer}
a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid #506c7b;outline-offset:5px}
img{display:block;max-width:100%}figure{margin:0}
::selection{background:#bfccd4;color:#14212b}
.skip-link{position:fixed;top:-100px;left:18px;background:var(--white);color:var(--ink);z-index:90;padding:14px 18px;border:1px solid var(--line)}
.skip-link:focus{top:14px}
.container{width:100%;max-width:1720px;margin-inline:auto;padding-inline:var(--safe)}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;clip-path:inset(50%)}
.eyebrow{font-family:Arial,Helvetica,sans-serif;font-size:11px;letter-spacing:.32em;line-height:1.5;text-transform:uppercase;font-weight:500}
.micro{font:10px/1.7 Arial,Helvetica,sans-serif;letter-spacing:.24em;text-transform:uppercase}
.meta{font:11px/1.6 Arial,Helvetica,sans-serif;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft)}
.line{width:46px;height:1px;background:var(--ink-soft)}
.rule{height:1px;background:var(--line);border:0;margin:0}
.link-arrow{display:inline-flex;align-items:center;gap:18px;font-size:11px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;min-height:48px;transition:gap .3s ease,color .3s ease}
.link-arrow:hover{gap:26px;color:#4a697c}
.link-arrow .arrow-circle{display:inline-grid;place-items:center;width:42px;height:42px;border:1px solid #72818c;border-radius:50%;font-size:18px;font-weight:300;line-height:1;transition:background .25s,border-color .25s}
.link-arrow:hover .arrow-circle{background:#fff9;border-color:var(--ink)}
/* Top navigation deliberately minimal; the standalone pages use the same shell. */
.site-header{position:relative;z-index:30;height:86px;display:flex;align-items:center;justify-content:space-between;padding-inline:var(--safe);gap:30px;background:rgba(247,248,248,.82);border-bottom:1px solid rgba(180,192,201,.28)}
.site-header--hero{position:absolute;top:0;left:0;right:0;background:linear-gradient(180deg,rgba(238,241,244,.99),rgba(238,241,244,.83) 72%,rgba(238,241,244,.4));border-bottom-color:transparent}
.brand{font-family:var(--serif);font-size:30px;font-weight:520;letter-spacing:-.075em;line-height:1.1;white-space:nowrap}
.brand span{font-weight:300}
.nav-group{display:flex;align-items:center;gap:clamp(20px,2.6vw,48px);margin-left:auto}
.nav-group a{font:10px/1.4 Arial,Helvetica,sans-serif;letter-spacing:.27em;text-transform:uppercase;transition:opacity .25s;white-space:nowrap;min-height:42px;display:flex;align-items:center}
.nav-group a:hover,.nav-group a[aria-current=page]{opacity:.78}
.menu-toggle{height:44px;min-width:112px;padding:0 17px 0 20px;border:1px solid rgba(149,161,169,.31);background:#f8fafaaa;display:flex;align-items:center;justify-content:space-between;gap:15px;border-radius:28px;color:var(--ink);font:10px/1 Arial,Helvetica,sans-serif;letter-spacing:.21em}
.menu-toggle:hover{background:#ffffff;box-shadow:0 9px 28px rgba(28,45,58,.05)}
.hamburger{display:grid;gap:4px;width:16px;pointer-events:none}
.hamburger i{display:block;width:16px;height:1px;background:var(--ink)}
.mobile-menu{position:absolute;z-index:55;top:72px;right:var(--safe);min-width:230px;padding:17px;background:rgba(250,251,251,.98);border:1px solid var(--line);box-shadow:0 18px 70px #222f3a18;border-radius:2px}
.mobile-menu[hidden]{display:none}
.mobile-menu a{display:flex;align-items:center;justify-content:space-between;min-height:52px;padding:11px 16px;font-size:14px;border-bottom:1px solid var(--line)}
.mobile-menu a:last-child{border-bottom:0}
.mobile-menu a:hover{background:#e9eef0}
.mobile-menu small{font:10px Arial;color:var(--pale)}
/* Approved hero, photo never modified: screenshot is used as a reference scene crop.
   Text and navigation are live HTML for localization and accessibility. */
.home-hero{height:clamp(690px,100svh,1060px);min-height:690px;position:relative;overflow:hidden;isolation:isolate;background:radial-gradient(ellipse at 65% 47%,#f2f4f5 0%,#e3e9ed 57%,#dee5ea 100%)}
.home-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#eef1f39c 0%,transparent 28%,transparent 76%,#e6eaedb5 100%);z-index:2;pointer-events:none}
.home-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#edf0f3 0%,#edf0f3f7 23%,#edf0f3b4 34%,#edf0f34d 47%,transparent 60%);z-index:3;pointer-events:none}
.hero-scene{position:absolute;z-index:1;top:65px;right:-13%;width:75%;height:calc(100% - 15px);background-image:url('assets/apex-portrait-scene.webp');background-repeat:no-repeat;background-size:cover;background-position:52% 50%;filter:saturate(.69);transform:scale(1.02);animation:scene-drift 13s ease-in-out infinite alternate;mask-image:linear-gradient(to right,transparent 0%,#000 18%,#000 100%)}
@keyframes scene-drift{from{transform:scale(1.02) translateY(0)}to{transform:scale(1.055) translateY(-7px)}}
.hero-layer{position:relative;z-index:5;min-height:100%;padding-top:clamp(235px,29vh,355px);padding-bottom:100px;pointer-events:none}
.hero-layer a,.hero-layer button{pointer-events:auto}
.hero-eyebrow{font-size:11px;letter-spacing:.45em;color:#606e78;font-weight:400}
.hero-title{font-family:"Lochin Outfit","Helvetica Neue",Arial,sans-serif;font-size:clamp(74px,6.8vw,115px);font-weight:350;line-height:1.03;letter-spacing:-.055em;margin:24px 0 34px;white-space:nowrap}
.hero-title span{font-weight:250}
.hero-rule{width:64px;height:1px;background:#9ba5ac}
.hero-bottom{position:absolute;left:var(--safe);bottom:clamp(40px,7.2vh,78px);display:flex;align-items:center;gap:30px}
.hero-note{position:absolute;right:var(--safe);bottom:clamp(40px,7.2vh,78px);color:#76848d;font-size:10px;letter-spacing:.21em}
.hero-desc{margin-top:22px;max-width:410px;font-size:14px;line-height:1.9;color:var(--ink-soft)}
.hero-index{position:absolute;top:190px;right:var(--safe);font-size:10px;letter-spacing:.19em;color:#6c7984}
.scroll-mark{width:25px;height:25px;border:1px solid #788892;border-radius:50%;display:inline-grid;place-items:center;font-size:14px;font-weight:400}
/* Homepage image-led studio overview */
.section-space{padding-block:var(--section)}
.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:clamp(38px,5vw,74px)}
.section-title{font-size:clamp(44px,5.7vw,92px);font-weight:310;letter-spacing:-.048em;line-height:1.10;margin:18px 0 0}
.section-title-cn{font-size:clamp(34px,3.8vw,65px);font-weight:340;letter-spacing:-.045em;line-height:1.25;margin:20px 0 0}
.section-aside{font-size:13px;line-height:1.9;color:var(--ink-soft);max-width:300px;margin:0 0 7px}
.quiet-heading{margin-bottom:50px}
.feature-stack{display:grid;grid-template-columns:minmax(0,1.54fr) minmax(0,1fr);gap:20px}
.image-card{position:relative;display:block;overflow:hidden;background:#e4e9eb;isolation:isolate;min-width:0}
.image-card img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.3,1);filter:saturate(.72)}
.image-card:hover img{transform:scale(1.035)}
.image-card--hero{aspect-ratio:1.42}
.image-card--hero img{object-position:65% 50%}
.image-card--research{aspect-ratio:.9;background:linear-gradient(130deg,#e8edf0,#d9e0e5)}
.image-card--research .diagram{height:100%;min-height:320px}
.image-card__gradient{position:absolute;inset:0;background:linear-gradient(0deg,#1c2a36a9 0%,transparent 45%);pointer-events:none}
.image-card__label{position:absolute;left:clamp(22px,3vw,47px);bottom:clamp(20px,3vw,44px);z-index:2;color:white}
.image-card__label h3{font-size:clamp(27px,3vw,44px);font-weight:350;line-height:1.08;letter-spacing:-.035em;margin:12px 0 8px}
.image-card__label p{font:12px/1.7 Arial;letter-spacing:.045em;opacity:.87;margin:0}
.image-card__number{position:absolute;right:28px;top:26px;color:#fff;font:11px/1 Arial;letter-spacing:.2em;z-index:2}
.image-card--research .image-card__gradient{background:linear-gradient(0deg,#253846ad,transparent 55%)}
.diagram{position:relative;background:linear-gradient(145deg,#ecf0f2 0%,#d1dce2 100%);overflow:hidden}
.diagram:before{content:"";position:absolute;border:1px solid #a2b5c04d;width:60%;aspect-ratio:1;left:20%;top:14%;border-radius:50%}
.diagram:after{content:"";position:absolute;width:38%;aspect-ratio:1;left:31%;top:24%;border:1px solid #96acb967;border-radius:50%;box-shadow:0 0 0 54px #bdcbd329,0 0 0 110px #f5f8fa22}
.diagram .diagram-core{position:absolute;left:calc(50% - 3px);top:26%;width:6px;height:48%;background:linear-gradient(#8c9faa44,#536e83aa,#8c9faa44);box-shadow:0 0 30px #6a8b9c77;transform:rotate(32deg)}
.section-end{display:flex;align-items:center;justify-content:space-between;margin-top:30px;gap:20px}
.section-end span{font:10px Arial;letter-spacing:.22em;color:#5a6974}
.studio-stripe{padding:80px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#eff2f3}
.studio-stripe__inner{display:flex;align-items:baseline;justify-content:space-between;gap:38px}
.studio-stripe__inner strong{font-size:clamp(27px,3.7vw,58px);font-weight:350;letter-spacing:-.038em}
.studio-stripe__inner p{font-size:13px;color:var(--ink-soft);max-width:280px;line-height:1.8}
.inner-page:not(.page-home) .section-space{padding-block:clamp(80px,8vw,122px)}
/* Inner page common */
.inner-page{min-height:100vh}
.page-top{position:relative;padding-block:clamp(82px,8vw,137px) clamp(70px,6vw,103px);overflow:hidden;border-bottom:1px solid var(--line)}
.page-top--fog{background:radial-gradient(ellipse at 79% 31%,#eef2f4 0%,#dee5ea 70%,#d7dfe5 100%)}
.page-top--plain{background:#f6f7f7}
.page-top--deep{background:#293843;color:#eaf0f2;border-bottom-color:#4b5b64}
.page-top__heading{font-size:clamp(75px,8.5vw,148px);font-weight:260;line-height:1.0;letter-spacing:-.058em;margin:25px 0 20px;position:relative;z-index:2}
.page-top__heading span{font-weight:260}
.page-top__subtitle{font-size:clamp(16px,2vw,24px);font-weight:370;letter-spacing:-.02em;line-height:1.65;margin:0;max-width:590px;position:relative;z-index:2}
.page-top__note{font:11px/1.5 Arial;letter-spacing:.16em;color:var(--ink-soft);margin-top:40px}
.page-hero-photo{position:absolute;inset:0 -10% 0 51%;background-image:url('assets/apex-portrait-scene.webp');background-repeat:no-repeat;background-size:cover;background-position:49% 47%;mask-image:linear-gradient(to right,transparent 0%,#000 21%);filter:saturate(.65);opacity:.95}
.page-top--apex{min-height:690px;background:#eaf0f3}
.page-top--apex:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#edf1f5 0%,#edf1f5e8 34%,#edf1f57a 49%,transparent 65%);pointer-events:none}
.page-top--apex .container{position:relative;z-index:2}
.page-top--apex .page-top__heading{max-width:700px}
.page-top--apex .page-top__note{max-width:380px;line-height:1.9}
.project-large-card{display:grid;grid-template-columns:1fr 1fr;gap:0;border-top:1px solid var(--line)}
.project-large-card__image{min-height:620px;overflow:hidden;background:#dfe5e8}
.project-large-card__image img{width:100%;height:100%;object-fit:cover}
.project-large-card__copy{padding:clamp(50px,6vw,105px);display:flex;flex-direction:column;justify-content:space-between;min-width:0}
.project-large-card__copy h2{font-size:clamp(39px,5.4vw,84px);font-weight:300;letter-spacing:-.055em;margin:25px 0}
.project-large-card__copy p{font-size:14px;color:var(--ink-soft);line-height:1.9;max-width:400px}
.project-large-card__copy .link-arrow{align-self:flex-start}
.project-large-card--invert .project-large-card__image{order:2}
.editorial-head{display:flex;align-items:flex-start;justify-content:space-between;gap:50px;margin-bottom:50px}
.editorial-head h2{font-size:clamp(39px,4.3vw,72px);font-weight:340;letter-spacing:-.048em;line-height:1.16;margin:17px 0 0}
.editorial-head p{max-width:320px;font-size:13px;color:var(--ink-soft);line-height:1.85}
.research-board{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(20px,2.5vw,38px)}
.research-tile{min-width:0}
.research-tile__image{aspect-ratio:1.335;background:#e6ebed;overflow:hidden;display:block}
.research-tile__image img{width:100%;height:100%;object-fit:cover;transition:transform .65s;filter:saturate(.66)}
.research-tile__image:hover img{transform:scale(1.035)}
.research-tile__meta{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:19px 0 25px;border-bottom:1px solid var(--line)}
.research-tile__meta h3{font-size:20px;font-weight:400;letter-spacing:-.03em;margin:0 0 6px}
.research-tile__meta span{font-size:11px;color:var(--ink-soft)}
.research-tile__meta small{font:10px/1.5 Arial;letter-spacing:.14em;color:#586974;text-transform:uppercase;white-space:nowrap}
.description-quiet{font-size:14px;color:var(--ink-soft);line-height:2;max-width:640px;margin:0}
.tagline-band{background:#e9eef0;padding:80px 0}
.tagline-band .container{display:flex;align-items:flex-end;justify-content:space-between;gap:45px}
.tagline-band strong{font-size:clamp(40px,5vw,79px);line-height:1.15;letter-spacing:-.047em;font-weight:310}
.tagline-band .link-arrow{flex:none}
/* Projects listing */
.projects-index{display:grid;grid-template-columns:minmax(0,1.28fr) minmax(0,.72fr);gap:22px}
.projects-index .image-card--hero{aspect-ratio:1.15}
.projects-side{display:grid;grid-template-rows:1fr 1fr;gap:22px}
.projects-side .image-card--research{aspect-ratio:auto}
.projects-side .blank-surface{min-height:265px;position:relative;background:linear-gradient(138deg,#f4f6f7,#cbd8dd 92%);overflow:hidden}
.blank-surface::before{content:"";position:absolute;width:78%;height:1px;left:11%;top:34%;background:#8799a466;transform:rotate(-30deg)}
.blank-surface::after{content:"";position:absolute;width:48%;height:85%;left:31%;top:14%;border:1px solid #9daeb955;border-radius:50%}
.projects-side .image-card__label h3{font-size:30px}
/* Research */
.research-plate{display:grid;grid-template-columns:1fr 1fr;min-height:560px;background:#dfe7eb;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.research-plate__content{padding:clamp(45px,6vw,98px);display:flex;flex-direction:column;justify-content:space-between}
.research-plate__content h2{font-size:clamp(54px,6vw,92px);font-weight:300;letter-spacing:-.07em;margin:0 0 30px}
.research-plate__content p{font-size:15px;color:#586570;max-width:350px;line-height:2}
.research-plate__art{position:relative;overflow:hidden;background:linear-gradient(142deg,#d6e1e7,#c1d0d9,#edf1f3)}
.research-plate__art .orb-a{position:absolute;width:59%;aspect-ratio:1;left:24%;top:12%;border:1px solid #f7fafa70;border-radius:50%;box-shadow:0 0 0 75px #dde9ef4c,0 0 0 150px #eff5f721}
.research-plate__art .orb-b{position:absolute;width:25%;aspect-ratio:1;left:41%;top:29%;border-radius:50%;border:1px solid #879eacc7;box-shadow:0 20px 100px #67869a30}
.research-plate__art .axis{position:absolute;left:50%;top:0;height:100%;width:1px;background:#d4e4e978}
.research-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;padding-top:80px}
.research-list article{border-top:1px solid var(--line);padding-top:27px}
.research-list h3{font-size:26px;font-weight:360;letter-spacing:-.035em;margin:42px 0 18px}
.research-list p{font-size:13px;line-height:1.9;color:var(--ink-soft);max-width:330px}
/* Journal */
.journal-feature{display:grid;grid-template-columns:1.05fr .95fr;gap:0;margin-top:12px}
.journal-feature__image{height:clamp(380px,47vw,640px);background:#dfe7ec;overflow:hidden}
.journal-feature__image img{height:100%;width:100%;object-fit:cover;object-position:51% center;filter:saturate(.65)}
.journal-feature__text{padding:clamp(42px,6vw,92px);background:#eef2f3;display:flex;flex-direction:column;justify-content:space-between}
.journal-feature__text h2{font-size:clamp(33px,4vw,65px);line-height:1.2;font-weight:340;letter-spacing:-.039em;margin:18px 0 20px}
.journal-feature__text p{max-width:360px;font-size:13px;line-height:1.95;color:var(--ink-soft)}
.note-rows{margin-top:80px;border-top:1px solid var(--line)}
.note-row{padding:32px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:90px 1fr 190px;align-items:center;gap:30px}
.note-row h3{font-size:clamp(22px,2.7vw,39px);font-weight:370;letter-spacing:-.04em;margin:0}
.note-row .meta{text-align:right}
/* About */
.about-quote{font-size:clamp(51px,8vw,135px);letter-spacing:-.052em;line-height:1.12;font-weight:300;margin:0}
.about-balance{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(45px,7vw,140px);align-items:center}
.about-balance .image-shell{background:#e5ecef;aspect-ratio:1.05;overflow:hidden}
.about-balance .image-shell img{width:100%;height:100%;object-fit:cover;object-position:50% center;filter:saturate(.52)}
.about-balance h2{font-size:clamp(39px,5vw,80px);font-weight:310;line-height:1.25;letter-spacing:-.055em}
.about-balance .text{font-size:15px;color:var(--ink-soft);line-height:2;max-width:490px}
.values{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;margin-top:80px}
.values>div{border-top:1px solid var(--line);padding-top:22px}
.values span{font:10px Arial;letter-spacing:.18em;color:#596a76}
.values h3{font-size:25px;font-weight:390;letter-spacing:-.04em;margin-top:35px}
/* Footer */
.site-footer{padding:clamp(68px,8vw,130px) 0 26px;background:#e9edef;border-top:1px solid #d4dde1}
.footer-upper{display:grid;grid-template-columns:1.2fr .8fr;gap:70px;padding-bottom:100px}
.footer-upper .brand{font-size:52px}
.footer-lead{font-size:clamp(28px,4vw,60px);font-weight:300;letter-spacing:-.034em;line-height:1.25;margin:21px 0 0}
.footer-links{display:flex;gap:clamp(18px,2vw,45px);justify-content:flex-end;align-items:flex-start;padding-top:12px}
.footer-links a{font-size:12px;min-height:40px;display:inline-flex;align-items:center}
.footer-links a:hover{text-decoration:underline}
.footer-bottom{border-top:1px solid #c6d0d6;display:flex;justify-content:space-between;align-items:flex-end;gap:22px;padding-top:24px}
.legal{display:flex;gap:22px;flex-wrap:wrap;color:var(--ink-soft);font-size:11px;line-height:1.7}
.legal a{display:inline-flex;align-items:center;gap:7px;min-height:28px}
.legal a:hover{text-decoration:underline}
.legal img{width:18px;height:20px;object-fit:contain}
.copyright{font:10px/1.8 Arial,Helvetica,sans-serif;letter-spacing:.1em;color:var(--ink-soft);white-space:nowrap}
/* Easy-to-use static photo viewer */
.back-to-top{display:inline-grid;place-items:center;width:46px;height:46px;border:1px solid #8c9ca5;border-radius:50%;font-size:19px}
/* Motion only for decorative UI */
.reveal{opacity:1;transform:none}
.js .reveal{opacity:0;transform:translateY(22px);transition:opacity .9s ease,transform .9s ease}
.js .reveal.is-visible{opacity:1;transform:none}
@media(hover:hover){.image-card{transition:box-shadow .5s}.image-card:hover{box-shadow:0 18px 55px #273b4821}}
@media(max-width:1100px){
  .nav-group{gap:22px}.home-hero{height:850px}.hero-scene{width:85%;right:-22%;background-position:43% 50%}.hero-title{font-size:clamp(75px,10vw,115px)}
  .hero-layer{padding-top:300px}.hero-index{top:165px}
  .feature-stack{grid-template-columns:1.2fr 1fr}.footer-upper{padding-bottom:75px}
}
@media(max-width:800px){
  :root{--safe:clamp(24px,5.3vw,40px);--section:85px}
  .site-header{height:75px}.brand{font-size:27px}.nav-group{display:none}.menu-toggle{min-width:98px;height:42px}
  .home-hero{height:clamp(770px,100svh,950px);min-height:770px}
  .hero-scene{top:265px;left:0;right:-38%;width:138%;height:calc(100% - 225px);background-position:43% 54%;mask-image:linear-gradient(to bottom,transparent 0%,#000 22%,#000 100%);opacity:.87}
  .home-hero:after{background:linear-gradient(180deg,#edf0f3 0%,#edf0f3fb 18%,#ebeff2ce 34%,#eef2f533 61%,transparent 85%)}
  .home-hero:before{background:linear-gradient(180deg,#f0f2f39c,transparent 52%,#e9eff3cc)}
  .hero-layer{padding-top:187px}.hero-title{font-size:clamp(62px,13.5vw,96px);letter-spacing:-.061em}
  .hero-index{right:var(--safe);top:128px}.hero-note{display:none}
  .hero-bottom{bottom:37px}
  .section-heading{display:block}.section-aside{margin-top:28px}
  .feature-stack,.projects-index,.research-plate,.journal-feature,.about-balance,.project-large-card{grid-template-columns:1fr}
  .feature-stack .image-card--hero{aspect-ratio:1.05}.feature-stack .image-card--research{aspect-ratio:1.22}
  .studio-stripe__inner{display:block}.studio-stripe__inner p{margin-top:26px}
  .page-top{padding-top:130px;padding-bottom:110px}.page-top__heading{font-size:clamp(73px,12.2vw,130px)}
  .page-top--apex{min-height:810px}.page-hero-photo{inset:280px -10% 0 0;background-position:52% 48%;mask-image:linear-gradient(to bottom,transparent 0%,#000 18%,#000 100%);opacity:.9}
  .page-top--apex:after{background:linear-gradient(180deg,#eaf0f5 0%,#eaf0f5e8 30%,#eaf0f599 56%,transparent 80%)}
  .page-top--apex .page-top__heading{font-size:clamp(74px,13vw,118px)}
  .project-large-card__image{min-height:460px}.project-large-card__copy{min-height:390px}
  .project-large-card--invert .project-large-card__image{order:0}
  .projects-side{grid-template-columns:1fr 1fr;grid-template-rows:auto}.projects-side .blank-surface{height:380px}
  .editorial-head{display:block}.editorial-head p{margin-top:22px}
  .research-list,.values{gap:25px}.note-row{grid-template-columns:70px 1fr 110px}
  .footer-upper{grid-template-columns:1fr}.footer-links{justify-content:flex-start;padding:0}.footer-bottom{align-items:flex-start;flex-direction:column}
}
@media(max-width:560px){
  :root{--safe:25px;--section:72px}
  html{scroll-padding-top:80px;scroll-behavior:auto}
  .site-header{height:72px}.brand{font-size:27px}.menu-toggle{min-width:100px}.mobile-menu{top:65px;left:var(--safe);right:var(--safe);min-width:0}
  .home-hero{height:760px;min-height:760px;max-height:none}
  .hero-layer{padding-top:208px;padding-bottom:90px}
  .hero-scene{top:310px;right:-35%;left:auto;width:133%;height:calc(100% - 286px);background-size:cover;background-position:49% 49%;opacity:1}
  .home-hero:after{background:linear-gradient(180deg,#edf0f3 0%,#edf0f3f6 22%,#edf0f3c0 36%,#eef2f424 59%,transparent 87%)}
  .hero-title{font-size:clamp(66px,16vw,89px);margin:24px 0 23px;letter-spacing:-.067em}
  .hero-eyebrow{font-size:9px;letter-spacing:.27em}
  .hero-desc{font-size:12px;max-width:240px;line-height:1.7}
  .hero-bottom{bottom:23px}.hero-index{top:142px;font-size:9px}
  .section-heading{margin-bottom:35px}.section-title{font-size:clamp(44px,13vw,75px)}
  .section-title-cn{font-size:clamp(34px,10vw,50px)}
  .section-aside{font-size:12px}
  .feature-stack{grid-template-columns:1fr;gap:14px}.image-card--hero{aspect-ratio:1}.image-card--research{width:100%;aspect-ratio:1.18;min-height:calc(12em + 25px)}
  .image-card__label{left:25px;bottom:25px}.image-card__label h3{font-size:32px}.image-card__number{right:20px;top:20px}
  .section-end{align-items:flex-start}
  .studio-stripe{padding:70px 0}.studio-stripe__inner strong{font-size:36px}
  .page-top{padding-top:110px;padding-bottom:85px}.page-top__heading{font-size:clamp(60px,15vw,82px)}.page-top__subtitle{font-size:15px}
  .page-top__note{margin-top:30px}.page-top--apex{height:740px;min-height:740px}.page-top--apex .page-top__heading{font-size:clamp(70px,17vw,104px)}
  .page-hero-photo{inset:275px -41% 0 -10%;background-position:50% 50%}
  .projects-side,.research-board,.research-list,.values{grid-template-columns:1fr}
  .projects-side{grid-template-rows:auto}.projects-side .image-card,.projects-side .blank-surface{height:350px}
  .project-large-card__image{min-height:355px}.project-large-card__copy{min-height:330px;padding:42px 25px}
  .editorial-head h2{font-size:41px}.research-tile__meta h3{font-size:20px}
  .tagline-band{padding:60px 0}.tagline-band .container{display:block}.tagline-band strong{font-size:42px}.tagline-band .link-arrow{margin-top:28px}
  .research-plate{min-height:0;grid-template-columns:minmax(0,1fr)}.research-plate__content{min-height:360px;min-width:0;padding:43px 25px}.research-plate__content h2{font-size:70px;overflow-wrap:anywhere}.research-plate__art{height:370px}
  .research-list{padding-top:50px}.research-list h3{margin-top:22px}
  .journal-feature__image{height:340px}.journal-feature__text{min-height:350px;padding:35px 25px}.note-rows{margin-top:45px}
  .note-row{grid-template-columns:42px 1fr;gap:15px;padding:26px 0}.note-row .meta{grid-column:2;text-align:left}
  .about-balance .image-shell{aspect-ratio:1.25}.about-balance h2{font-size:43px}.values{margin-top:50px}
  .footer-upper{padding-bottom:50px;gap:44px}.footer-upper .brand{font-size:45px}.footer-lead{font-size:36px}
  .footer-links{flex-wrap:wrap;gap:17px 27px}.footer-bottom{align-items:flex-start}.legal{display:block}.legal a{display:flex;margin-bottom:6px}.copyright{white-space:normal}
}
@media(max-width:360px){:root{--safe:18px}.hero-title{font-size:60px}.home-hero{height:730px;min-height:730px}.hero-layer{padding-top:195px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}.js .reveal{opacity:1!important;transform:none!important}}


/* QUIET FUTURE v0.2 — Inner-page photographic choreography.
 * Actual user-approved Apex studies. Images are research storytelling, NOT validated production assets.
 * Keep one visual focal point, open space, accurate copy, and small amounts of motion.
 */
.page-top--editorial{
  position:relative;isolation:isolate;display:flex;align-items:center;
  min-height:clamp(540px,68svh,790px);padding-block:clamp(105px,11vw,168px) clamp(92px,11vw,158px);
  background:radial-gradient(ellipse at 75% 43%,#e5ebee,#f2f4f5 66%,#f6f7f7 100%);
}
.page-top--editorial .container{position:relative;z-index:3}
.page-top--editorial::after{
  content:"";position:absolute;inset:0;z-index:2;pointer-events:none;
  background:linear-gradient(90deg,#f4f6f7 0%,#f4f6f7f5 25%,#eef2f4b8 43%,#eef2f442 62%,transparent 82%);
}
.page-top--editorial .page-top__art{
  position:absolute;inset:0 0 0 36%;z-index:1;
  background-size:cover;background-repeat:no-repeat;background-position:center;
  opacity:.82;filter:saturate(.60) contrast(.96);
  -webkit-mask-image:linear-gradient(to right,transparent 0%,#000 19%,#000 100%);
  mask-image:linear-gradient(to right,transparent 0%,#000 19%,#000 100%);
  transform:scale(1.013);
  animation:editorial-drift 22s ease-in-out infinite alternate;
}
.page-top--editorial .page-top__heading{font-size:clamp(82px,9vw,150px);line-height:1.02;max-width:780px}
.page-top--editorial .page-top__subtitle{max-width:480px;font-size:clamp(16px,1.9vw,22px)}
.page-top--projects .page-top__art{background-image:url('assets/apex-detail-scene.webp');background-position:56% 43%;opacity:.88}
.page-top--research .page-top__art{background-image:url('assets/apex-torso-study.webp');background-position:48% 41%;opacity:.56;filter:grayscale(.15) saturate(.37)}
.page-top--journal .page-top__art{background-image:url('assets/apex-head-study.webp');background-position:51% 40%;opacity:.56;filter:saturate(.38) contrast(.94)}
.page-top--about .page-top__art{background-image:url('assets/apex-portrait-scene.webp');background-position:62% 48%;opacity:.58;filter:saturate(.31)}
.page-top--about .page-top__heading{font-size:clamp(75px,9.7vw,153px)!important}
@keyframes editorial-drift{from{transform:scale(1.013) translate3d(0,0,0)}to{transform:scale(1.037) translate3d(-4px,-3px,0)}}
/* Art direction of the source images: a single deliberate crop rather than repeated card art. */
.projects-side .project-study-image{width:100%;height:100%;object-fit:cover;object-position:48% 45%;filter:saturate(.48) contrast(.96)}
.page-projects .projects-index .image-card--hero img{object-position:64% 49%}
.page-apex .research-tile:first-child img{object-position:50% 39%}
.page-journal .journal-feature__image img{object-position:50% 27%}
.page-about .about-balance .image-shell img{object-position:44% 50%}
.research-tile__image,.image-card,.journal-feature__image,.about-balance .image-shell{isolation:isolate}
.research-tile__image img{transform:scale(1);transition:transform .9s cubic-bezier(.22,.65,.29,1)}
@media(hover:hover){.research-tile__image:hover img{transform:scale(1.025)}}
/* Minimal scroll-reveal. No layout-changing effects, no hidden content without JS. */
.js .reveal{opacity:0;transform:translate3d(0,18px,0);transition:opacity .78s cubic-bezier(.22,.65,.3,1),transform .78s cubic-bezier(.22,.65,.3,1)}
.js .reveal.is-visible{opacity:1;transform:none}
/* Progressive multi-page transition: unsupported browsers fall back to standard navigation. */
@view-transition{navigation:auto}
@keyframes quiet-old-page{to{opacity:0}}
@keyframes quiet-new-page{from{opacity:0}to{opacity:1}}
::view-transition-old(root){animation:.12s ease both quiet-old-page}
::view-transition-new(root){animation:.20s ease both quiet-new-page}
@media(max-width:800px){
  ::view-transition-old(root){animation-duration:.08s}
  ::view-transition-new(root){animation-duration:.14s}
}
@media(max-width:800px){
  html{scroll-behavior:auto} /* VoiceOver fragment/focus should not compete with animations on touch devices. */
  .page-top--editorial{display:block;min-height:clamp(620px,82svh,830px);padding-block:clamp(115px,16vh,166px) 300px}
  .page-top--editorial .page-top__art{
    inset:230px -4% 0 0;background-size:cover;background-position:center 48%;opacity:.83;
    mask-image:linear-gradient(to bottom,transparent 0%,#000 15%,#000 100%);
    -webkit-mask-image:linear-gradient(to bottom,transparent 0%,#000 15%,#000 100%);
  }
  .page-top--editorial::after{background:linear-gradient(180deg,#f3f5f7 0%,#f3f5f7ec 25%,#f2f4f6b9 40%,transparent 78%)}
  .page-top--editorial .page-top__heading{font-size:clamp(71px,13vw,118px)}
  .page-top--research .page-top__art{opacity:.58;background-position:center 30%}
  .page-top--journal .page-top__art{opacity:.7;background-position:center 36%}
  .page-top--about .page-top__art{opacity:.68;background-position:center 43%}
  .page-top--projects .page-top__art{background-position:57% 51%}
}
@media(max-width:560px){
  .page-top--editorial{min-height:clamp(560px,84svh,710px);padding-top:115px;padding-bottom:310px}
  .page-top--editorial .page-top__heading{font-size:clamp(60px,14vw,77px);margin-top:22px}
  .page-top--editorial .page-top__subtitle{font-size:15px;line-height:1.7}
  .page-top--editorial .page-top__art{inset:235px -9% 0 -8%;background-position:center 42%}
  .page-top--research .page-top__art{background-position:50% 24%}
  .page-top--journal .page-top__art{background-position:50% 31%}
  .page-top--about .page-top__art{background-position:51% 38%}
  .page-top--about .page-top__heading{font-size:clamp(61px,14vw,80px)!important}
  .page-projects .projects-index .image-card--hero img{object-position:51% 50%}
  .page-journal .journal-feature__image img{object-position:49% 35%}
}
@media(prefers-reduced-motion:reduce){
  .page-top--editorial .page-top__art{animation:none;transform:none}
  ::view-transition-old(root),::view-transition-new(root){animation-duration:.01ms!important}
  .research-tile__image img{transition:none}
}

/* Outfit display: approved visual typography, self-hosted WOFF2. */
@font-face{font-family:"Lochin Outfit";src:url("assets/outfit-latin-variable.woff2") format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
.page-home .section-title,.page-home .feature-stack .image-card__label h3,.page-home .studio-stripe__inner strong,
.page-projects .page-top__heading,.page-projects .image-card__label h3,
.page-apex .editorial-head h2,.page-apex .research-tile__meta h3,
.page-research .page-top__heading,.page-research .editorial-head h2,.page-research .research-plate__content h2,.page-research .research-list h3,
.page-journal .page-top__heading,.page-about .page-top__heading,.page-about .editorial-head h2,
.tagline-band strong,.footer-lead{font-family:"Lochin Outfit","Helvetica Neue",Arial,sans-serif}



@media(max-width:560px){.section-end>span{min-width:0;overflow-wrap:anywhere}}

@media(max-width:560px){.page-home .hero-title{white-space:normal;overflow-wrap:anywhere}.page-top__heading{overflow-wrap:anywhere}}

/* WP12 R8: localize decorative crop; never clip the root document's text or focusable content. */
@media(max-width:560px){.page-research .page-top--research{overflow-x:clip}.page-research .editorial-head h2{overflow-wrap:anywhere}}

/* WP12 R9: allow Apex front matter height to expand for native text zoom. */
@media(max-width:560px){.page-top--apex{height:auto;min-height:740px}}

/* WP12 R10: narrow viewport native text zoom may require word breaks and flexible header gap. */
@media(max-width:560px){.tagline-band strong,.footer-lead{overflow-wrap:anywhere}}
@media(max-width:360px){.site-header{gap:0}}

/* WP12 R12: preserve base hero height; permit extra room via em only at enlarged font sizes. */
@media(min-width:500px) and (max-width:560px){.page-home .home-hero{min-height:max(760px,34em)}}
