/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.fixed{position:fixed}.relative{position:relative}.static{position:static}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.flex{display:flex}.grid{display:grid}.hidden{display:none}.table{display:table}.resize{resize:both}.uppercase{text-transform:uppercase}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}:root{--black:#05070a;--panel:#0a0d12;--cyan:#45dce8;--text:#f4f6f8;--muted:#89909b;--line:#ffffff1f}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--black)}body{background:var(--black);color:var(--text);margin:0;font-family:Helvetica Neue,PingFang SC,Microsoft YaHei,Arial,sans-serif;overflow-x:hidden}button{font:inherit;color:inherit}button:focus-visible{outline:2px solid var(--cyan);outline-offset:4px}.portfolio-page,.case-page{background:linear-gradient(#ffffff09 1px,transparent 1px) 0 0/120px 120px, linear-gradient(90deg,#ffffff09 1px,transparent 1px) 0 0/120px 120px, radial-gradient(circle at 78% 14%,#43dce812,transparent 31%), var(--black);min-width:320px}.site-nav{z-index:100;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(#05070ac7,#05070a00);justify-content:space-between;align-items:center;height:92px;padding:0 clamp(24px,5.3vw,96px);display:flex;position:fixed;top:0;left:0;right:0}.site-nav nav{align-items:center;gap:44px;display:flex}.site-nav button{cursor:pointer;background:0 0;border:0}.site-nav nav button{letter-spacing:.35em;color:#c4cad2;padding:12px 0;font:10px/1 SFMono-Regular,Consolas,monospace;position:relative}.site-nav nav button.active:after,.site-nav nav button:hover:after{content:"";background:var(--cyan);height:2px;position:absolute;bottom:0;left:0;right:.35em}.brand-button{padding:0}.hecoe-logo{width:120px;height:auto;display:block}.portfolio-hero{min-height:640px;padding:170px clamp(24px,7.8vw,130px) 70px;position:relative;overflow:hidden}.portfolio-hero:before{content:"";background:radial-gradient(circle,#ffffff05 0 42%,#ffffff0a 43% 61%,#ffffff04 62%,#0000 70%);border:1px solid #ffffff09;border-radius:50%;width:720px;height:720px;position:absolute;top:70px;right:-2vw}.hero-title-stack{z-index:1;position:relative}.hero-year{letter-spacing:.35em;color:var(--cyan);margin:0 0 15px;font:13px/1 SFMono-Regular,Consolas,monospace}.portfolio-hero h1{letter-spacing:-.07em;text-transform:uppercase;max-width:980px;margin:0;font-size:clamp(72px,9vw,142px);font-weight:800;line-height:.82}.portfolio-hero h1 span{color:var(--cyan);display:inline-block}.hero-cn{letter-spacing:-.04em;margin:28px 0 11px;font-size:clamp(26px,3vw,42px);font-weight:700;line-height:1}.hero-subtitle{letter-spacing:.2em;color:#a0a6ae;margin:0;font-size:14px;line-height:1.8}.work-list{border-top:1px solid var(--line);width:min(1240px,100% - 48px);margin:0 auto;padding:0 0 70px}.work-row{border-bottom:1px solid var(--line);grid-template-columns:minmax(330px,.95fr) minmax(460px,1.25fr);align-items:center;gap:64px;min-height:360px;padding:48px 0;display:grid}.work-row.reverse{grid-template-columns:minmax(460px,1.25fr) minmax(330px,.95fr)}.work-row.reverse .work-copy{grid-column:2}.work-row.reverse .work-image{grid-area:1/1}.work-copy{grid-template-columns:90px 1fr;align-items:start;gap:34px;display:grid}.work-number{letter-spacing:-.05em;color:#fff;font-size:clamp(52px,5vw,72px);font-weight:300;line-height:.9}.work-copy h2{letter-spacing:-.06em;max-width:420px;margin:0;font-size:clamp(34px,3.3vw,48px);font-weight:650;line-height:.95}.work-category{letter-spacing:.28em;color:var(--cyan);margin:26px 0 24px;font:11px/1 SFMono-Regular,Consolas,monospace}.work-description{color:#acb2bc;max-width:360px;margin:0 0 12px;font-size:14px;line-height:1.72}.work-cn{color:#737b86;max-width:340px;margin:0 0 42px;font-size:13px;line-height:1.75}.view-project{letter-spacing:.28em;cursor:pointer;background:0 0;border:0;align-items:center;gap:28px;padding:0;font:11px/1 SFMono-Regular,Consolas,monospace;display:inline-flex}.view-project span{color:var(--cyan);font-size:30px;line-height:0;transition:transform .25s}.view-project:hover span{transform:translate(8px)}.work-image{cursor:pointer;background:#09111d;border:1px solid #ffffff52;border-radius:4px;width:100%;padding:0;display:block;position:relative;overflow:hidden;box-shadow:0 34px 90px #00000061}.work-image img,.work-image video{aspect-ratio:2.18;object-fit:cover;object-position:top center;pointer-events:none;width:100%;transition:transform .75s cubic-bezier(.2,.7,.2,1),opacity .35s;display:block}.work-image:hover img,.work-image:hover video{opacity:.92;transform:scale(1.025)}.work-year-correction{z-index:2;color:#6f788b;text-align:left;letter-spacing:.18em;pointer-events:none;background:#020407;min-width:106px;padding:3px 5px;font:7px/1 SFMono-Regular,Consolas,monospace;display:block;position:absolute;top:8.4%;left:5.7%}.capabilities{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(4,1fr);width:min(1240px,100% - 48px);margin:0 auto;padding:40px 0;display:grid}.capability{border-right:1px solid var(--line);grid-template-columns:44px 1fr;gap:20px;min-height:100px;padding:0 34px;display:grid}.capability:first-child{padding-left:0}.capability:last-child{border-right:0;padding-right:0}.capability>span{letter-spacing:.18em;color:var(--cyan);font:12px/1 SFMono-Regular,Consolas,monospace}.capability h3{letter-spacing:.24em;margin:0 0 12px;font:13px/1 SFMono-Regular,Consolas,monospace}.capability p{color:#8c949f;margin:0;font-size:12px;line-height:1.75}.contact-strip{border-bottom:1px solid var(--line);grid-template-columns:1.45fr 1fr auto;align-items:center;gap:40px;width:min(1240px,100% - 48px);margin:0 auto;padding:54px 0;display:grid}.contact-strip h2{letter-spacing:-.04em;margin:0;font-size:clamp(26px,3vw,42px);font-weight:700}.contact-strip p{color:#8b929d;letter-spacing:.12em;margin:0;font-size:13px}.contact-strip button{letter-spacing:.28em;background:0 0;border:0;align-items:center;gap:28px;padding:0;font:11px/1 SFMono-Regular,Consolas,monospace;display:inline-flex}.contact-strip button span{color:var(--cyan);font-size:30px;line-height:0}.site-footer{letter-spacing:.25em;color:#6d747e;grid-template-columns:1fr 1fr 1fr;width:min(1240px,100% - 48px);margin:0 auto;padding:32px 0 38px;font:10px/1 SFMono-Regular,Consolas,monospace;display:grid}.site-footer span:nth-child(2){text-align:center}.site-footer span:nth-child(3){text-align:right}.case-page{background:#07090d}.case-nav{border-bottom:1px solid var(--line);background:#07090de0}.progress{z-index:110;pointer-events:none;width:100%;height:2px;position:fixed;top:91px;left:0}.progress i{background:var(--cyan);height:100%;display:block;box-shadow:0 0 12px #45dce8a6}.case-masthead{background:radial-gradient(circle at 80% 40%,#45dce81a,#0000 32%),#080a0e;grid-template-columns:1.65fr .8fr;align-items:end;gap:90px;min-height:620px;padding:185px clamp(24px,7.5vw,120px) 90px;display:grid}.case-masthead p{letter-spacing:.22em;color:var(--cyan);font:11px/1 SFMono-Regular,Consolas,monospace}.case-masthead h1{letter-spacing:-.07em;max-width:980px;margin:28px 0 20px;font-size:clamp(52px,6.6vw,96px);font-weight:750;line-height:.92}.case-masthead span{color:#a6adb8;max-width:680px;font-size:15px;line-height:1.8;display:block}.case-masthead dl{border-top:1px solid #252b36;margin:0}.case-masthead dl>div{border-bottom:1px solid #252b36;grid-template-columns:92px 1fr;padding:17px 0;display:grid}.case-masthead dt{color:#667286;letter-spacing:.2em;font:8px/1 SFMono-Regular,Consolas,monospace}.case-masthead dd{color:#aab1bf;letter-spacing:.08em;margin:0;font-size:11px}.case-board{width:min(100%,var(--case-width,1200px));background:#07090d;margin:0 auto}.case-media{width:100%;line-height:0;position:relative;overflow:hidden}.case-board img,.case-board video{width:100%;height:auto;display:block}.media-year-correction{z-index:2;white-space:nowrap;pointer-events:none;display:block;position:absolute}.time-year-correction{color:#d9bd70;text-align:center;background:#101010;min-width:66px;padding:4px 5px;font:clamp(10px,1.15vw,18px)/1 Helvetica Neue,Arial,sans-serif;top:4.4%;right:4%}.xiangzhou-case-year{color:#6f788b;letter-spacing:.18em;background:#020407;min-width:170px;padding:4px 6px;font:clamp(6px,.55vw,9px)/1 SFMono-Regular,Consolas,monospace;top:3.72%;left:5.65%}.xiangzhou-dashboard-date{color:#8e96a4;letter-spacing:.05em;background:#080b10;min-width:74px;padding:2px 3px;font:clamp(5px,.43vw,7px)/1 SFMono-Regular,Consolas,monospace;top:45.15%;left:79.25%}.case-end{background:#07090d;border-top:1px solid #1b202a;flex-direction:column;align-items:flex-start;height:420px;padding:78px clamp(24px,7.5vw,120px) 46px;display:flex}.case-end p{letter-spacing:.2em;color:#6f7888;margin:auto 0 0;font:10px/1 SFMono-Regular,Consolas,monospace}.case-end button{cursor:pointer;letter-spacing:.22em;background:0 0;border:0;border-bottom:1px solid #66717f;align-self:flex-end;padding:12px 0;font:10px/1 SFMono-Regular,Consolas,monospace}@media (width<=900px){.site-nav{height:76px;padding:0 22px}.hecoe-logo{width:96px}.site-nav nav{gap:18px}.site-nav nav button{letter-spacing:.18em;font-size:8px}.portfolio-hero{min-height:560px;padding:128px 24px 54px}.portfolio-hero:before{width:430px;height:430px;top:100px;right:-170px}.hero-year{font-size:10px}.portfolio-hero h1{font-size:clamp(54px,15vw,78px);line-height:.86}.hero-cn{font-size:28px}.hero-subtitle{letter-spacing:.08em;font-size:11px}.work-list,.capabilities,.contact-strip,.site-footer{width:calc(100% - 36px)}.work-row,.work-row.reverse{grid-template-columns:1fr;gap:26px;padding:38px 0}.work-row.reverse .work-copy,.work-row.reverse .work-image{grid-area:auto}.work-copy{grid-template-columns:70px 1fr;gap:18px}.work-number{font-size:46px}.work-copy h2{font-size:34px}.work-description,.work-cn{font-size:12px}.work-image img,.work-image video{aspect-ratio:1.55}.work-year-correction{min-width:86px;font-size:6px;top:7.4%}.capabilities{grid-template-columns:1fr;padding:0}.capability{border-right:0;border-bottom:1px solid var(--line);padding:28px 0}.capability:last-child{border-bottom:0}.contact-strip{grid-template-columns:1fr;gap:24px}.site-footer{grid-template-columns:1fr;gap:16px}.site-footer span,.site-footer span:nth-child(2),.site-footer span:nth-child(3){text-align:left}.case-masthead{grid-template-columns:1fr;gap:56px;min-height:560px;padding:140px 22px 70px}.case-masthead h1{font-size:48px}.progress{top:75px}.case-end{height:320px;padding:56px 22px 34px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
