:root{color:#171a18;background:#f8f8f5;font-family:"Microsoft YaHei UI","PingFang SC",system-ui,sans-serif;font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:4rem}body{min-width:320px;margin:0;background:radial-gradient(circle at 80% 87%,rgba(255,131,96,.12),transparent 18rem),radial-gradient(circle at 77% 30%,rgba(93,222,178,.12),transparent 25rem),#f8f8f5}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}button:focus-visible,a:focus-visible{outline:3px solid #43caa1;outline-offset:4px}
@font-face{font-family:"Smiley Sans Local";src:url("data:font/ttf;base64,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") format("truetype");font-display:swap}@font-face{font-family:"LXGW WenKai Local";src:url("data:font/ttf;base64,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") format("truetype");font-display:swap}
.site-shell{width:min(1480px,calc(100% - 48px));min-height:100dvh;margin:0 auto;padding:0 clamp(28px,5vw,82px);overflow:hidden}.site-header{height:74px;display:flex;align-items:center}.site-header nav{display:flex;align-items:center;gap:10px}.nav-dot{width:9px;height:9px;margin-right:14px;border-radius:50%;background:#57dcb4;box-shadow:0 0 0 4px rgba(87,220,180,.1)}nav button{position:relative;min-height:44px;padding:0 12px;border:0;color:#6a716d;background:transparent;cursor:pointer;font-size:.91rem;transition:color .2s ease}nav button:first-of-type{color:#1e2924;font-weight:700}nav button:first-of-type::after{position:absolute;right:12px;bottom:5px;left:12px;height:2px;border-radius:3px;background:#61dcb7;content:"";transform:scaleX(.72)}nav button:hover{color:#167457}
.hero{display:grid;grid-template-columns:minmax(410px,.86fr) minmax(540px,1.14fr);min-height:min(734px,calc(100dvh - 132px));align-items:center;gap:clamp(12px,2.5vw,46px);padding:clamp(36px,5.6vh,72px) 0 22px}.hero-copy{position:relative;z-index:2;max-width:600px;animation:arrive .62s both cubic-bezier(.2,.7,.2,1)}h1{max-width:590px;margin:0;color:#171b19;font-family:"HarmonyOS Sans SC","Microsoft YaHei UI","PingFang SC",system-ui,sans-serif;font-size:clamp(3rem,4.38vw,4.92rem);font-weight:600;letter-spacing:-.068em;line-height:1.17}.subtitle{margin:26px 0 0;color:#707873;font-size:clamp(1rem,1.15vw,1.14rem);letter-spacing:.025em}.works{margin-top:clamp(48px,6.5vh,70px)}.section-label{display:flex;align-items:center;gap:10px;margin:0 0 15px;color:#68726d;font-size:.87rem;font-weight:600;letter-spacing:.08em}.section-label i{width:8px;height:8px;border-radius:50%;background:#5edbb6}
.project-card{display:grid;grid-template-columns:minmax(0,1fr) 218px;align-items:center;gap:16px 22px;max-width:610px;padding:18px 20px;border:1px solid rgba(35,70,57,.11);border-radius:18px;background:linear-gradient(135deg,rgba(255,255,255,.8),rgba(252,253,249,.48));box-shadow:inset 0 1px rgba(255,255,255,.98),0 13px 30px rgba(39,75,61,.055);backdrop-filter:none;transition:transform .28s cubic-bezier(.2,.7,.2,1),box-shadow .28s ease,border-color .28s ease}.project-card:hover{border-color:rgba(55,178,140,.35);box-shadow:inset 0 1px rgba(255,255,255,.98),0 20px 42px rgba(32,75,58,.13),0 0 0 3px rgba(105,226,185,.06);transform:translateY(-5px)}.project-card__identity{display:flex;align-items:center;gap:15px}.project-logo{width:68px;height:68px;flex:0 0 auto;border-radius:18px;background:#fffaf0;box-shadow:0 6px 15px rgba(81,56,38,.12);object-fit:contain}.project-card h3{margin:0 0 8px;color:#161a18;font-size:clamp(1.45rem,1.75vw,1.72rem);font-weight:700;letter-spacing:.06em}.project-card p{margin:0;color:#747d78;font-size:.91rem;line-height:1.65}.meal-preview{position:relative;min-height:138px;overflow:hidden;border:1px solid rgba(255,255,255,.9);border-radius:14px;background:#fbf3e5;box-shadow:0 9px 22px rgba(37,66,56,.12),inset 0 0 0 1px rgba(177,145,110,.08);transition:transform .3s cubic-bezier(.2,.7,.2,1),box-shadow .3s ease}.meal-preview::after{position:absolute;inset:0;background:linear-gradient(115deg,rgba(255,255,255,.25),transparent 38%,rgba(255,225,183,.13));content:"";pointer-events:none}.meal-preview__image{display:block;width:100%;height:100%;min-height:138px;object-fit:cover;object-position:55% 58%;transform:scale(1.015);transition:transform .45s cubic-bezier(.2,.7,.2,1)}.project-card:hover .meal-preview{box-shadow:0 13px 25px rgba(37,66,56,.18)}.project-card:hover .meal-preview__image{transform:scale(1.055) translate(-1.5%,-1%)}
.spatial-artwork{position:relative;align-self:stretch;min-height:520px;isolation:isolate}.spatial-artwork__image{display:block;width:100%;height:100%;object-fit:cover;object-position:center;transform:none;transform-origin:55% 55%;will-change:auto;-webkit-mask-image:linear-gradient(90deg,transparent,black 23%,black);mask-image:linear-gradient(90deg,transparent,black 23%,black)}
footer{display:flex;align-items:center;gap:12px;min-height:56px;border-top:1px solid rgba(30,56,48,.09);color:#89918d;font-size:.76rem}footer span:first-child{color:#38443f;font-weight:700}footer i{width:4px;height:4px;border-radius:50%;background:#9ea8a3}.dialog-backdrop{position:fixed;z-index:10;inset:0;display:grid;place-items:center;padding:22px;background:rgba(37,52,46,.18);backdrop-filter:blur(10px);animation:fade .18s ease}.dialog-panel{width:min(420px,100%);padding:25px;border:1px solid rgba(255,255,255,.8);border-radius:24px;background:linear-gradient(145deg,rgba(255,255,255,.88),rgba(235,250,242,.65));box-shadow:0 28px 75px rgba(22,48,39,.2),inset 0 1px #fff;animation:rise .25s ease both}.dialog-topline{display:flex;align-items:center;justify-content:space-between}.dialog-topline .eyebrow{font-size:.75rem}.icon-button{width:44px;height:44px;border:1px solid rgba(38,98,78,.15);border-radius:50%;color:#405c50;background:rgba(255,255,255,.55);cursor:pointer;font-size:1.55rem;line-height:1;transition:background .2s,transform .2s}.icon-button:hover{background:#fff;transform:rotate(6deg)}.dialog-panel h2{margin:23px 0 14px;font-size:1.8rem;letter-spacing:-.05em}.dialog-panel p{color:#5d6d65;line-height:1.75}.contact-intro{margin:0 0 18px}.email-link{display:block;width:fit-content;color:#1e755c;font-weight:800;text-underline-offset:5px}.copy-button{min-height:44px;margin-top:22px;padding:0 16px;border:1px solid rgba(38,139,105,.27);border-radius:13px;color:#22684f;background:rgba(255,255,255,.68);cursor:pointer;transition:transform .2s,background .2s}.copy-button:hover{background:#fff;transform:translateY(-2px)}.copy-feedback{margin-bottom:0;color:#24805f!important;font-size:.85rem}
@keyframes arrive{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes hero-float{from{margin-top:-3px}to{margin-top:4px}}@keyframes fade{from{opacity:0}}@keyframes rise{from{opacity:0;transform:translateY(12px)}}@media(max-width:900px){.hero{grid-template-columns:minmax(0,1fr);min-height:auto;padding:28px 0}.spatial-artwork{min-height:400px;max-width:620px;width:88%;margin:-12px auto 0}.project-card{max-width:650px}}@media(max-width:570px){.site-shell{width:calc(100% - 28px);padding:0 18px}.site-header{height:65px}.site-header nav{gap:1px}.nav-dot{margin-right:5px}nav button{min-width:44px;padding:0 7px;font-size:.83rem}.hero{padding:20px 0 28px;gap:18px}h1{font-size:clamp(2.45rem,11.6vw,3.1rem);line-height:1.12}.subtitle{margin-top:18px;font-size:1rem}.works{margin-top:34px}.project-card{grid-template-columns:1fr;padding:17px;gap:16px}.project-logo{width:64px;height:64px}.meal-preview,.meal-preview__image{min-height:158px}.spatial-artwork{min-height:250px;width:100%;margin:0 auto;overflow:hidden}.spatial-artwork__image{object-position:80% center;transform:scale(1.34);-webkit-mask-image:none;mask-image:none}footer{min-height:58px;font-size:.72rem}.dialog-panel{padding:22px}}@media(hover:none){.spatial-artwork__image{transform:scale(1.012);animation:none}.project-card:hover{transform:none}.project-card:hover .meal-preview__image{transform:scale(1.015)}}@media(max-width:570px) and (hover:none){.spatial-artwork__image{transform:scale(1.34)}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
/* SITE-04 typography and dialog system */
/* Continuous hero environment: the glass asset has alpha, not its own background. */
.hero{grid-template-columns:minmax(430px,.93fr) minmax(580px,1.07fr);gap:clamp(14px,2vw,38px);padding-bottom:8px}.spatial-artwork{min-height:clamp(570px,71vh,720px);overflow:visible;background:radial-gradient(ellipse at 68% 84%,rgba(255,141,99,.12),transparent 31%),radial-gradient(ellipse at 66% 32%,rgba(111,223,181,.13),transparent 34%)}.spatial-artwork__image{width:100%;height:100%;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 19px 27px rgba(50,76,65,.09));-webkit-mask-image:radial-gradient(ellipse 74% 68% at 55% 53%,black 65%,transparent 100%);mask-image:radial-gradient(ellipse 74% 68% at 55% 53%,black 65%,transparent 100%)}footer{border-top:0;padding-bottom:15px}.project-card{grid-template-columns:minmax(0,1fr) 228px;gap:15px 26px;padding:21px 22px;border-color:rgba(48,67,58,.1);background:linear-gradient(135deg,rgba(255,255,255,.76),rgba(255,255,255,.42));box-shadow:inset 0 1px rgba(255,255,255,.98),0 17px 42px rgba(39,75,61,.06)}.project-card:hover{border-color:rgba(48,67,58,.14);box-shadow:inset 0 1px rgba(255,255,255,.98),0 23px 46px rgba(39,75,61,.11),0 0 0 1px rgba(255,255,255,.58)}.project-card p{white-space:nowrap}.project-card__footer{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;margin-top:1px;color:#909995;font-size:.78rem}.project-card__footer span{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border:1px solid rgba(59,76,67,.1);border-radius:10px;background:rgba(255,255,255,.35)}.project-card__footer i{width:6px;height:6px;border-radius:50%;background:#cbd1ce}.project-card__footer button{border:0;color:#35413c;background:transparent;cursor:pointer;font:inherit}.project-card__footer b{margin-left:5px;font-size:1.12rem;font-weight:400}.project-card__footer button:hover{color:#111917}
h1{font-family:"Smiley Sans Local","MiSans",sans-serif!important;font-weight:400!important;letter-spacing:.018em!important;line-height:1.08!important}
.project-card h3{font-family:"LXGW WenKai Local","KaiTi",serif;font-weight:400;letter-spacing:.08em}
.dialog-backdrop{z-index:20;background:rgba(247,248,244,.44);backdrop-filter:blur(7px) saturate(1.04);animation:fade .2s ease}
.dialog-panel{width:min(456px,calc(100vw - 40px));padding:32px 34px 34px;border:1px solid rgba(255,255,255,.82);border-radius:29px;background:linear-gradient(140deg,rgba(255,255,253,.88),rgba(235,249,242,.67) 67%,rgba(255,239,230,.65));box-shadow:0 30px 88px rgba(63,79,70,.16),inset 0 1px rgba(255,255,255,.96);animation:rise .26s cubic-bezier(.2,.8,.25,1) both}
.dialog-topline{height:28px;align-items:flex-start}.dialog-marker{width:23px;height:3px;margin-top:8px;border-radius:99px;background:linear-gradient(90deg,#62d9b4,#d7f4e7)}.icon-button{display:grid;place-items:center;width:44px;height:44px;margin:-8px -8px 0 0;border:0;border-radius:13px;color:#4b5d55;background:rgba(255,255,255,.2);cursor:pointer;transition:background .2s,transform .2s}.icon-button svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-width:1.45}.icon-button:hover{background:rgba(255,255,255,.72);transform:translateY(-1px)}.icon-button:active{transform:scale(.94)}
.dialog-kicker{margin:18px 0 12px;color:#77887f;font-size:.73rem;letter-spacing:.16em}.dialog-panel h2{margin:0;color:#202724;font-family:"Microsoft YaHei UI","PingFang SC",sans-serif;font-size:clamp(1.68rem,3.4vw,2rem);font-weight:550;letter-spacing:.05em;line-height:1.28}.about-dialog__lead{max-width:340px;margin:27px 0 12px;color:#2c3833;font-size:1.1rem;line-height:1.72}.about-dialog__support{max-width:300px;margin:0;color:#74837b;font-size:.93rem;line-height:1.8}.about-dialog__support::before{display:block;width:34px;height:1px;margin:0 0 15px;background:linear-gradient(90deg,#64d9b5,rgba(100,217,181,0));content:""}
.contact-dialog__content h2{display:flex;align-items:center;gap:8px}.contact-dialog__content h2 i{width:7px;height:7px;border-radius:50%;background:#ffae86;box-shadow:0 0 14px rgba(255,150,106,.38)}.contact-intro{margin:20px 0 15px;color:#738179!important;font-size:.96rem!important}.email-slot{display:flex;align-items:center;min-height:54px;padding:0 16px;border:1px solid rgba(91,117,103,.12);border-radius:15px;background:rgba(255,255,255,.5);box-shadow:inset 0 1px rgba(255,255,255,.88)}.email-slot span{overflow-wrap:anywhere;color:#202724;font-size:1rem;font-weight:600;letter-spacing:.015em}.contact-actions{display:flex;align-items:center;gap:19px;margin-top:16px}.copy-button{min-height:42px;margin:0;padding:0 15px;border:1px solid rgba(71,96,84,.14);border-radius:12px;color:#33433b;background:rgba(255,255,255,.52);box-shadow:inset 0 1px rgba(255,255,255,.84);cursor:pointer;transition:transform .2s,background .2s,box-shadow .2s}.copy-button:hover{background:rgba(255,255,255,.85);box-shadow:0 7px 18px rgba(58,85,72,.09);transform:translateY(-2px)}.email-link{display:inline-flex;align-items:center;gap:7px;color:#576860;font-size:.92rem;font-weight:600;text-decoration:none}.email-link:hover{color:#26382f}.email-link span{font-size:1.1rem;transition:transform .2s}.email-link:hover span{transform:translateX(3px)}.copy-feedback{min-height:1.3em;margin:12px 0 0!important;color:#368a6d!important;font-size:.79rem!important}
@media(max-width:570px){.dialog-backdrop{align-items:center;padding:18px}.dialog-panel{width:min(100%,440px);max-height:calc(100dvh - 36px);padding:28px 25px 27px;overflow:auto;border-radius:25px}.dialog-panel h2{font-size:1.64rem}.email-slot{padding:0 13px}.contact-actions{gap:15px}.dialog-kicker{margin-top:14px}}

/* SITE-04: reference-calibrated card and desktop single-screen containment. */
.dialog-backdrop{background:rgba(248,248,245,.31);backdrop-filter:blur(4px) saturate(1.025)}
.project-dialog__identity{display:flex;align-items:center;gap:15px;margin:12px 0 18px}.project-dialog__identity>img{width:64px;height:64px;border-radius:18px;background:#fff9ed;box-shadow:0 8px 18px rgba(83,59,39,.1);object-fit:contain}.project-dialog__identity .dialog-kicker{margin:0 0 4px}.project-dialog__identity h2{font-family:"LXGW WenKai Local","KaiTi",serif;font-size:1.85rem;font-weight:400;letter-spacing:.1em}.project-dialog__preview{display:block;width:100%;border:1px solid rgba(132,101,75,.14);border-radius:15px;box-shadow:0 12px 26px rgba(48,65,56,.1)}.project-dialog__content>p:not(.dialog-kicker){margin:16px 0 0;color:#526159}.project-dialog__status{display:inline-flex;align-items:center;max-width:100%;margin-top:13px!important;color:#6c7b72!important;font-size:.86rem;line-height:1.6!important}.project-dialog__status::before{width:6px;height:6px;margin-right:8px;border-radius:50%;background:#7bdab9;box-shadow:0 0 0 4px rgba(123,218,185,.13);content:"";flex:0 0 auto}

@media (min-width:901px) and (min-height:700px){
  .site-shell{width:min(1480px,calc(100% - 48px));height:100dvh;min-height:0;padding:0 clamp(28px,3.9vw,64px);display:grid;grid-template-rows:74px minmax(0,1fr) 46px;overflow:clip}
  .site-header{height:auto;min-height:0}
  .hero{position:relative;display:block;min-height:0;height:auto;padding:clamp(28px,4.6vh,54px) 0 8px;overflow:clip}
  .hero-copy{width:min(52%,680px);max-width:none;height:100%;z-index:2}
  .works{margin-top:clamp(35px,5vh,52px)}
  .spatial-artwork{position:absolute;z-index:1;inset:0 0 0 46%;min-height:0;overflow:clip;background:radial-gradient(ellipse at 68% 84%,rgba(255,141,99,.12),transparent 31%),radial-gradient(ellipse at 66% 32%,rgba(111,223,181,.13),transparent 34%)}
  .spatial-artwork__image{width:100%;height:100%;object-fit:contain;object-position:center bottom;transform:none}
  .project-card{width:min(680px,100%);max-width:none;min-height:238px;grid-template-columns:minmax(0,1fr) clamp(198px,17.2vw,233px);grid-template-rows:minmax(142px,1fr) auto;gap:13px clamp(19px,1.8vw,27px);padding:clamp(24px,3.2vh,35px) clamp(25px,2.5vw,36px) 23px;border-color:rgba(66,73,68,.13);border-radius:18px;background:linear-gradient(135deg,rgba(238,238,234,.78),rgba(249,249,246,.57));box-shadow:inset 0 1px rgba(255,255,255,.86),0 15px 34px rgba(54,67,60,.07)}
  .project-card:hover{border-color:rgba(66,73,68,.17);box-shadow:inset 0 1px rgba(255,255,255,.9),0 20px 42px rgba(54,67,60,.11),0 0 0 1px rgba(255,255,255,.56)}
  .project-card__identity{gap:clamp(15px,1.5vw,21px)}
  .project-logo{width:clamp(76px,7.25vw,108px);height:clamp(76px,7.25vw,108px);border-radius:clamp(18px,1.7vw,25px)}
  .project-card h3{margin-bottom:8px;font-size:clamp(2rem,3.05vw,3.15rem);line-height:1.08;letter-spacing:.11em;white-space:nowrap}
  .project-card p{font-size:clamp(.82rem,1.05vw,.98rem);line-height:1.5;white-space:nowrap}
  .meal-preview{align-self:start;min-height:0;height:auto;aspect-ratio:233 / 151;border-radius:14px;box-shadow:0 8px 19px rgba(49,61,54,.11),inset 0 0 0 1px rgba(177,145,110,.08)}
  .meal-preview__image{min-height:0;height:100%;object-fit:cover;object-position:center;transform:none}
  .project-card:hover .meal-preview__image{transform:translate3d(-1px,-1px,0) scale(1.025)}
  .project-card__footer{margin-top:0;font-size:.78rem}.project-card__footer span{padding:6px 10px;border-color:rgba(71,76,72,.12);background:rgba(255,255,255,.28)}
  footer{min-height:0;height:auto;padding:0 0 10px;font-size:.74rem;align-self:end}
}

@media (min-width:901px) and (max-height:699px){.site-shell{min-height:100dvh}.spatial-artwork{min-height:540px}}

@media (max-width:900px){.project-card{background:linear-gradient(135deg,rgba(239,239,235,.8),rgba(250,250,247,.55));border-color:rgba(66,73,68,.12)}.project-card p{white-space:normal}.project-dialog__preview{max-height:220px;object-fit:cover}}

/* The desktop reference proportions must not leak into the stacked phone card. */
@media (max-width:900px){.site-shell{overflow:visible}.hero{grid-template-columns:minmax(0,1fr);min-height:auto}.spatial-artwork{min-height:400px;max-width:620px;width:88%;margin:-12px auto 0}}
@media (max-width:570px){.hero{padding:20px 0 28px;gap:18px}.project-card{width:100%;min-height:0;grid-template-columns:minmax(0,1fr);grid-template-rows:auto;gap:16px;padding:17px}.project-card__identity{gap:15px}.project-logo{width:64px;height:64px;border-radius:18px}.project-card h3{margin-bottom:8px;font-size:1.72rem;line-height:1.18;letter-spacing:.08em;white-space:normal}.project-card p{font-size:.91rem;line-height:1.65;white-space:normal}.meal-preview{min-height:158px;aspect-ratio:auto}.meal-preview__image{min-height:158px;height:158px}.project-card__footer{grid-column:auto}.spatial-artwork{min-height:250px;width:100%;margin:0 auto;overflow:hidden}.spatial-artwork__image{object-position:80% center;transform:scale(1.34)}}

/* SITE-04: opaque cream card and tactile glass controls. */
.project-card{--card-x:0;--card-y:0;background:linear-gradient(135deg,#fff6e5 0%,#f1f0ea 43%,#e8f5ef 100%);border-color:#d9e0da;box-shadow:inset 0 1px rgba(255,255,255,.86),0 16px 34px rgba(79,99,89,.11);transform:translate3d(0,0,0);transition:transform 200ms cubic-bezier(.2,.8,.25,1),box-shadow 200ms ease,border-color 200ms ease}.project-card:hover{border-color:rgba(128,153,140,.58);box-shadow:inset 0 1px rgba(255,255,255,.96),0 20px 42px rgba(71,94,83,.15),0 0 0 1px rgba(255,246,229,.75);transform:translateY(-2px)}.project-card__identity,.meal-preview,.project-card__footer{transform:translate3d(0,0,0);transition:transform 200ms cubic-bezier(.2,.8,.25,1)}.project-card:hover .project-card__identity{transform:none}.project-card:hover .meal-preview{transform:none;box-shadow:0 13px 24px rgba(50,72,61,.16)}.project-card:hover .project-card__footer{transform:none}.meal-preview{background:#f3eadb}.meal-preview__image{display:block;width:100%;height:100%;min-height:0;object-fit:cover;object-position:center;filter:none;transform:none}.project-card:hover .meal-preview__image{transform:none}.project-card__footer button,.copy-button,.icon-button{position:relative;border:1px solid rgba(72,91,81,.16);box-shadow:inset 0 1px rgba(255,255,255,.9),inset 0 -1px rgba(72,91,81,.05),0 5px 11px rgba(52,74,63,.11);transition:transform 185ms cubic-bezier(.2,.82,.25,1),box-shadow 185ms ease,background 185ms ease,color 185ms ease}.project-card__footer button{padding:7px 9px;border-radius:10px;background:rgba(250,249,245,.6)}.project-card__footer button:hover,.copy-button:hover,.icon-button:hover{box-shadow:inset 0 1px rgba(255,255,255,.98),inset 0 -1px rgba(72,91,81,.05),0 8px 16px rgba(52,74,63,.15);transform:translateY(-2px)}.project-card__footer button:active,.copy-button:active,.icon-button:active{box-shadow:inset 0 2px 4px rgba(67,87,76,.13),0 2px 5px rgba(52,74,63,.1);transform:translateY(1px)}.copy-button.is-copied{border-color:rgba(104,196,159,.48);box-shadow:inset 0 1px rgba(255,255,255,.95),0 0 0 3px rgba(105,220,180,.12),0 6px 13px rgba(52,74,63,.1)}
.dialog-panel{position:relative;padding:29px 34px 31px;border-color:rgba(222,220,210,.92);background:rgba(250,249,245,.96);box-shadow:0 27px 70px rgba(58,73,65,.18),inset 0 1px rgba(255,255,255,.96);backdrop-filter:saturate(1.02)}.dialog-topline{height:0}.dialog-marker{display:none}.dialog-topline .icon-button{position:absolute;top:20px;right:22px;margin:0;width:44px;height:44px;border-radius:12px;background:rgba(250,249,245,.72)}.dialog-kicker{margin:0 0 7px;color:#78857d;font-size:.72rem;letter-spacing:.14em}.about-dialog__signature-label{margin:22px 0 7px}.about-dialog__lead{margin:0;color:#2c3833}.about-dialog__support{margin-top:14px}.contact-intro{margin:14px 0 13px!important}.contact-actions{margin-top:14px}.copy-feedback{min-height:1.3em;margin-top:9px!important}.project-dialog__preview{aspect-ratio:3/2;height:auto;object-fit:contain;background:#f6eddf;filter:none}.dialog-panel--project{width:min(520px,calc(100vw - 40px))}
.spatial-artwork{overflow:clip}.spatial-artwork__image{-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 73%,rgba(0,0,0,.76) 87%,transparent 100%);mask-image:linear-gradient(to bottom,#000 0%,#000 73%,rgba(0,0,0,.76) 87%,transparent 100%);transform:none}
@media (min-width:901px) and (min-height:700px){.site-shell{grid-template-rows:74px minmax(0,1fr)}.hero{padding-bottom:18px}.spatial-artwork{inset:0 0 0 46%}}
@media (max-width:767px){.project-card--responsive{width:100%;max-width:100%;min-width:0;grid-template-columns:minmax(0,1fr);grid-template-areas:"identity" "preview" "footer";grid-template-rows:auto;gap:16px;padding:18px}.project-card--responsive>*{min-width:0}.project-card--responsive .project-card__identity{grid-area:identity}.project-card--responsive .meal-preview{grid-area:preview;min-height:0;aspect-ratio:3/2}.project-card--responsive .meal-preview__image{width:100%;height:100%;min-height:0}.project-card--responsive .project-card__footer{grid-area:footer;grid-column:auto;min-height:44px;margin:0}.project-card--responsive .project-card__footer button{min-height:44px;padding:8px 11px}.project-card:hover{transform:none}.project-card:hover .project-card__identity,.project-card:hover .meal-preview,.project-card:hover .project-card__footer{transform:none}}@media (max-width:570px){.project-card--responsive{padding:17px}.meal-preview{aspect-ratio:3/2;min-height:0}.meal-preview__image{height:100%;min-height:0}.dialog-panel{padding:28px 25px 27px}.dialog-topline .icon-button{top:18px;right:17px}.spatial-artwork__image{transform:scale(1.28)}}
@media (prefers-reduced-motion:reduce){.project-card,.project-card__identity,.meal-preview,.project-card__footer,.project-card__footer button,.copy-button,.icon-button{transition-duration:.01ms!important}.project-card:hover,.project-card:hover .project-card__identity,.project-card:hover .meal-preview,.project-card:hover .project-card__footer{transform:none!important}}

/* SITE-04 stability convergence: real content has one fixed paint position. */
.hero,
.hero-copy,
.site-header,
.site-header nav,
h1,
.subtitle,
.works,
.project-card,
.project-card__identity,
.project-card__footer,
.meal-preview,
.meal-preview__image,
.spatial-artwork,
.spatial-artwork__image,
.dialog-panel,
.dialog-panel * {
  animation:none !important;
  filter:none !important;
  perspective:none !important;
  transform:none !important;
  will-change:auto !important;
}

.project-card,
.project-card:hover,
.project-card:active,
.project-card:focus-within {
  transform:none !important;
  transition:border-color 180ms ease,box-shadow 180ms ease,background-color 180ms ease !important;
}

.project-card:hover {
  box-shadow:inset 0 1px rgba(255,255,255,.96),0 19px 38px rgba(71,94,83,.13),0 0 0 1px rgba(255,246,229,.68) !important;
}

.project-card__footer button,
.project-card__footer button:hover,
.project-card__footer button:active,
.copy-button,
.copy-button:hover,
.copy-button:active,
.icon-button,
.icon-button:hover,
.icon-button:active,
nav button,
nav button:hover,
nav button:active {
  transform:none !important;
  transition:border-color 180ms ease,box-shadow 180ms ease,background-color 180ms ease,color 180ms ease !important;
}

.project-card__footer button:active,
.copy-button:active,
.icon-button:active {
  box-shadow:inset 0 2px 4px rgba(67,87,76,.13),0 2px 5px rgba(52,74,63,.1) !important;
}

.spatial-artwork,
.spatial-artwork__image {
  user-select:none;
  -webkit-user-drag:none;
}

.spatial-artwork__image {
  display:block;
}

.dialog-panel {
  backdrop-filter:none !important;
}

.dialog-backdrop {
  backdrop-filter:blur(3px) saturate(1.015);
}

::view-transition-group(fanfan-preview),
::view-transition-old(fanfan-preview),
::view-transition-new(fanfan-preview) {
  animation-duration:280ms;
  animation-timing-function:cubic-bezier(.2,.75,.25,1);
}

::view-transition-image-pair(fanfan-preview) {
  isolation:auto;
}

.dialog-panel--project {
  animation:project-dialog-fade 180ms ease-out both !important;
}

@keyframes project-dialog-fade {
  from { opacity:0; }
  to { opacity:1; }
}

@media (prefers-reduced-motion:reduce) {
  .dialog-panel--project { animation:project-dialog-fade 150ms ease-out both !important; }
}

/* ICP filing identifier: present in the document flow without competing with the hero. */
.site-filing {
  display:flex;
  align-items:flex-end;
  flex-wrap:wrap;
  gap:6px 14px;
  min-height:36px;
  margin:0;
  padding:0 0 14px;
  border:0;
  color:#8b928e;
  font-size:.72rem;
  line-height:1.25;
}

.site-filing__link {
  display:inline-flex;
  align-items:center;
  min-width:0;
  color:inherit;
  text-decoration:none;
  text-underline-offset:3px;
  transition:color 180ms ease,text-decoration-color 180ms ease;
  white-space:nowrap;
}

.site-filing__link:hover { color:#5f6d65; text-decoration:underline; }

.site-filing__police-icon {
  width:17px;
  height:17px;
  margin-right:5px;
  flex:0 0 auto;
  object-fit:contain;
}

@media (min-width:901px) and (min-height:700px) {
  .site-shell { grid-template-rows:74px minmax(0,1fr) 46px; }
  .hero { padding-bottom:4px; }
  .site-filing { min-height:0; padding:0 0 7px; }
}

@media (max-width:570px) {
  .site-filing { min-height:42px; padding-bottom:18px; font-size:.71rem; gap:5px 10px; }
  .site-filing__police-icon { width:16px; height:16px; margin-right:4px; }
}
