:root{--paper:#f3f2ec;--ink:#242a27;--muted:#777b72;--accent:#b65230;font-family:"Segoe UI","Microsoft YaHei",sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:35px}body{margin:0}a{color:inherit;text-decoration:none}button,input{font:inherit}button{cursor:pointer}a,button{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:7px}::selection{color:#fff;background:#a95437}.hero{min-height:760px;height:100svh;max-height:1200px;position:relative;color:#fff;background:#44534b;background-size:cover;background-position:center;isolation:isolate;overflow:hidden}.hero:before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#142c3933 0%,#0718121a 28%,#061e1899 100%);z-index:-1}#hero-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none}.header{position:absolute;top:32px;left:4.4%;right:4.4%;display:flex;align-items:center;justify-content:space-between;gap:28px;height:64px}.wordmark{display:flex;align-items:center;gap:11px;font-size:15px;letter-spacing:3px}.brand-symbol{font-family:Georgia,serif;font-size:42px;letter-spacing:-5px;margin-right:12px}.wordmark sup{font-size:9px;align-self:flex-start;margin-top:10px;letter-spacing:0}.glass-nav{position:absolute;left:50%;transform:translateX(-50%);display:flex;align-items:center;justify-content:center;width:390px;height:60px;padding:7px 10px;border-radius:40px;background:#ffffff15;backdrop-filter:blur(10px);box-shadow:inset 0 0 0 1px #ffffff35,0 5px 20px #0001;isolation:isolate;touch-action:manipulation}.glass-ready .glass-nav{background:transparent;backdrop-filter:none;box-shadow:none}.glass-nav a{display:grid;place-items:center;flex:1;height:100%;font-size:13px;letter-spacing:2px;position:relative;text-shadow:0 1px 4px #0005;border-radius:30px}.nav-marker{position:absolute;top:8px;bottom:8px;left:10px;width:calc((100% - 20px)/4);border-radius:30px;background:#fff2;box-shadow:inset 0 0 0 1px #fff2;transition:transform .35s cubic-bezier(.2,.8,.2,1);pointer-events:none}.header-contact{font-size:12px;letter-spacing:1px;display:flex;gap:20px;align-items:center}.header-contact span{width:38px;height:38px;border:1px solid #ffffff70;border-radius:50%;display:grid;place-items:center;font-size:21px}.hero-copy{position:absolute;left:8.2%;bottom:16%;max-width:850px}.kicker{font-size:12px;letter-spacing:3px;display:flex;align-items:center;gap:12px;margin:0 0 27px}.tiny-star{font-size:22px}.hero h1{font-weight:500;font-size:clamp(66px,6.8vw,110px);letter-spacing:-5px;line-height:1.22;margin:0 0 27px;position:relative}.title-period{display:inline-block;font-size:40px;color:#e7d79b;vertical-align:top;margin:18px 0 0 13px;line-height:1}.hero-intro{font-size:13px;line-height:2.1;letter-spacing:1px;color:#fffe;white-space:pre-line;margin:0 0 32px}.hero-cta{display:inline-flex;align-items:center;gap:42px;background:var(--paper);color:var(--ink);padding:16px 22px;border-radius:3px;font-size:12px;transition:background .2s,transform .2s}.hero-cta:hover{background:#fff;transform:translateY(-3px)}.hero-cta span{font-size:20px}.hero-bottom{position:absolute;bottom:30px;left:4.4%;right:4.4%;display:flex;align-items:center;justify-content:space-between;font-size:9px;letter-spacing:2px;color:#fff9}.hero-bottom a{color:#fff;display:flex;gap:24px;align-items:center;font-size:11px;letter-spacing:1px}.hero-bottom a span{font-size:22px}.photo-label{position:absolute;right:4.4%;top:48%;writing-mode:vertical-rl;letter-spacing:3px;font-size:9px;color:#fffb}.section{padding:94px 8.2%;scroll-margin-top:0}.section-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:46px}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:500}.section-aside{font-size:11px;color:var(--muted);letter-spacing:1px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:45px}h2{font-weight:500;letter-spacing:-1.8px;font-size:clamp(34px,3.6vw,54px);line-height:1.3;margin:0}.section-heading h2 span,.contact h2>span{color:var(--accent)}.section-heading p{font-size:12px;line-height:1.9;color:var(--muted);margin:0 0 2px}.project-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:42px 28px}.project{display:block;text-align:left;padding:0;border:0;background:transparent;color:inherit;min-width:0}.project-art{height:390px;position:relative;overflow:hidden;border-radius:3px;isolation:isolate;transition:transform .4s}.project:hover .project-arrow{background:var(--paper);color:var(--ink);transform:rotate(45deg)}.project-arrow{position:absolute;right:20px;bottom:20px;width:39px;height:39px;border:1px solid #fff7;color:#fff;border-radius:50%;display:grid;place-items:center;font-size:20px;transition:transform .3s,background .3s}.project-meta{display:flex;align-items:flex-start;justify-content:space-between;padding-top:20px;gap:10px}.project-meta h3{margin:0;font-size:17px;font-weight:500;letter-spacing:.5px}.project-meta h3 small{font-size:9px;color:#8c8f87;font-weight:400;margin-left:7px}.project-meta p{font-size:11px;color:var(--muted);margin:9px 0 0}.project-meta>span{font-size:9px;letter-spacing:1px;color:#878b83;padding-top:5px}.glass-art{background:#bac6b9;color:#243b2f}.art-label{position:absolute;top:24px;left:25px;font-size:9px;letter-spacing:2px;z-index:2}.art-bottom{position:absolute;bottom:25px;left:25px;font-size:8px;letter-spacing:2px}.specimen{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;font-family:Georgia,serif;font-size:84px;line-height:.9;letter-spacing:-5px}.specimen>i{font-weight:normal;color:#f8f8ed}.orb{position:absolute;border-radius:50%;background:radial-gradient(circle at 35% 25%,#f9f8d6,#8c9f7d 50%,#586f59);box-shadow:inset -10px -10px 20px #263d3833,12px 16px 30px #24342622}.orb-one{width:170px;height:170px;right:-38px;top:-44px}.orb-two{width:100px;height:100px;left:30px;bottom:16px}.demo-lens{position:absolute;top:47%;left:50%;transform:translate(-50%,-50%) rotate(-16deg);border-radius:60px;width:240px;height:64px;display:grid;place-items:center;backdrop-filter:blur(3px);background:#fff2;border:1px solid #fff8;box-shadow:inset 0 2px 4px #fffa,inset 0 -3px 7px #fff6,0 13px 20px #2340251a;font-family:"Segoe UI",sans-serif;font-size:13px;letter-spacing:2px;color:white}.photo-art{color:white;background:#7d9384}.photo-art img{width:100%;height:100%;object-fit:cover;filter:brightness(.83);transition:transform .6s}.project:hover .photo-art img{transform:scale(1.035)}.photo-title{position:absolute;left:27px;bottom:42px;font-size:35px;line-height:1.7;letter-spacing:2px}.photo-title i{font-family:Georgia,serif;font-size:14px;letter-spacing:1px}.project-wide{grid-column:1/-1}.type-art{height:285px;background:#e6dfcf;color:#4c4d38}.type-title{position:absolute;left:9%;top:66px;font-family:Georgia,serif;line-height:.95;font-size:77px;letter-spacing:-4px}.type-title i{font-weight:400}.type-aside{position:absolute;left:61%;top:88px;font-size:21px;line-height:1.9;letter-spacing:4px}.type-aside span{display:block;font-size:9px;letter-spacing:2px;margin-top:26px}.type-art .project-arrow{border-color:#4c4d3860;color:#4c4d38}.about{border-top:1px solid #d9dcd1;padding-bottom:110px}.about-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:12%;align-items:center}.name-card{aspect-ratio: .96;background:#daddd0;padding:26px;display:flex;flex-direction:column;justify-content:space-between;transform:rotate(-3deg);max-width:390px;box-shadow:0 10px 30px #2f44330a}.card-top,.card-bottom{display:flex;justify-content:space-between;align-items:center;font-size:9px;letter-spacing:1px}.card-top>span{font-size:20px}.card-bottom strong{font-size:14px;font-weight:500}.card-bottom>span{font-size:7px;letter-spacing:1px}.monogram{position:relative;font-family:serif;font-size:145px;text-align:center;color:#52634e;line-height:1.2}.monogram span{font-family:Arial,sans-serif;position:absolute;font-size:60px;right:0;top:-20px;color:#aa593c}.about-copy h2{font-size:clamp(30px,3.1vw,46px);line-height:1.5;margin-bottom:23px}.about-copy>p:not(.kicker){font-size:13px;color:var(--muted);line-height:2.3;max-width:425px}.dark{color:#858b7e;letter-spacing:2px;font-size:11px;margin-bottom:17px}.interests{display:flex;flex-wrap:wrap;gap:9px;margin:23px 0 30px}.interests span{border:1px solid #d1d5c8;border-radius:20px;font-size:10px;color:#727a6b;padding:7px 13px}.text-link{font-size:12px;border-bottom:1px solid #828b76;padding-bottom:8px;display:inline-flex;gap:40px}.contact{background:#e4e8dc}.availability{font-size:10px;letter-spacing:1px;display:flex;gap:8px;align-items:center;color:#687a5f}.availability i{width:5px;height:5px;border-radius:50%;background:#6e885c}.contact-main{display:flex;justify-content:space-between;align-items:center}.contact h2{font-size:clamp(46px,6vw,90px);letter-spacing:-4px;line-height:1.25}.contact-orbit{border:1px solid #778b6d;background:transparent;border-radius:50%;width:155px;height:155px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;color:#52634b;transition:background .3s,color .3s}.contact-orbit span{font-size:12px;letter-spacing:2px}.contact-orbit b{font-size:49px;font-weight:300}.contact-orbit:hover{background:#52634b;color:#fff}.contact-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:42px}.contact-bottom p{font-size:12px;color:#788570}.contact-bottom a{font-size:12px;margin-left:20px}.footer{padding:50px 8.2% 24px}.footer-brand{font-family:Arial,sans-serif;font-size:clamp(85px,19vw,290px);font-weight:600;line-height:1;letter-spacing:-.07em;display:block;color:#d5d9cc;width:fit-content}.footer-row{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #d8dccf;margin-top:30px;padding-top:22px;font-size:10px;color:#838979;gap:20px}.footer-row>div{display:flex;gap:24px;align-items:center}.footer-row button{background:none;border:0;color:inherit;padding:0;font-size:10px}dialog{border:1px solid #d4d9cb;border-radius:12px;background:var(--paper);color:var(--ink);padding:45px;width:min(560px,calc(100% - 30px));max-height:85svh;overflow:auto;box-shadow:0 30px 100px #10241233}dialog::backdrop{background:#15291a88;backdrop-filter:blur(7px)}dialog h2{font-size:32px;margin:20px 0}dialog p:not(.eyebrow){font-size:13px;line-height:2;color:#737e6a}dialog .dialog-note{font-size:11px;color:#8b9384}.dialog-close{position:absolute;right:16px;top:12px;font-size:26px;color:#6b7964;background:none;border:0}.dialog-action{display:inline-block;background:#475d40;border:0;border-radius:4px;color:white;padding:13px 20px;font-size:12px}.material-actions{display:flex;gap:12px;flex-wrap:wrap;margin:25px 0}.material-actions>button{border:1px solid #bdc6b4;background:transparent;padding:12px;color:#52634b;border-radius:4px;font-size:12px}#project-detail-art img{width:100%;border-radius:5px}#project-detail-art blockquote{font-family:Georgia,serif;font-size:42px;padding:30px;background:#e6dfcf;margin:10px 0;color:#62664e}.skip{position:fixed;top:-100px;left:20px;padding:15px;z-index:10;background:var(--paper);color:var(--ink)}.skip:focus{top:10px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}@media(min-width:1800px){.section,.footer{padding-left:max(8.2%,calc((100% - 1450px)/2));padding-right:max(8.2%,calc((100% - 1450px)/2))}}@media(max-width:900px){.header{gap:10px}.wordmark{font-size:11px;gap:5px}.brand-symbol{font-size:32px;margin-right:8px}.header-contact{font-size:0;gap:0}.glass-nav{width:340px;height:58px}.hero-copy{left:7%;bottom:17%}.hero h1{font-size:76px}.section{padding:70px 7%}.project-art{height:320px}.specimen{font-size:70px}.about-grid{gap:8%}.name-card{padding:19px}.monogram{font-size:115px}.card-bottom>span{display:none}}@media(max-width:600px){.hero{min-height:730px;height:100svh;max-height:960px}.header{top:17px;left:6%;right:6%;height:45px}.wordmark{font-size:11px}.header-contact{font-size:10px;gap:12px}.header-contact span{width:30px;height:30px;font-size:17px}.glass-nav{top:67px;width:min(340px,calc(100vw - 40px));height:56px;padding:7px 9px}.glass-nav a{font-size:12px}.hero-copy{left:8%;right:7%;bottom:20%}.hero h1{font-size:clamp(52px,12.5vw,76px);letter-spacing:-3px;margin-bottom:23px}.title-period{font-size:26px;margin:10px 0 0 7px}.kicker{font-size:10px;letter-spacing:2px;margin-bottom:24px}.hero-intro{font-size:11px;line-height:2.1;letter-spacing:.4px;margin-bottom:25px}.hero-cta{font-size:11px;padding:12px 18px;gap:30px}.hero-bottom{left:8%;right:8%;bottom:25px;font-size:7px;letter-spacing:1px}.hero-bottom a{font-size:10px;gap:13px}.hero-location,.photo-label{display:none}.section{padding:57px 7%}.section-top{margin-bottom:30px}.eyebrow{font-size:8px;letter-spacing:1.4px}.section-aside{font-size:9px}.section-heading{display:block;margin-bottom:30px}h2{font-size:32px;letter-spacing:-1.5px}.section-heading p{font-size:11px;margin-top:17px}.project-grid{grid-template-columns:1fr;gap:30px}.project-art{height:355px}.project-wide{grid-column:auto}.project-meta{padding-top:15px}.project-meta h3{font-size:15px}.project-meta p{font-size:10px}.project-meta>span{font-size:8px}.type-art{height:290px}.type-title{left:8%;top:70px;font-size:65px}.type-aside{left:auto;right:8%;top:185px;font-size:11px;letter-spacing:1px;line-height:1.8}.type-aside span{display:none}.about-grid{grid-template-columns:1fr;gap:50px}.name-card{max-width:320px;width:90%;margin:0 auto;aspect-ratio:1.15;padding:24px}.monogram{font-size:115px}.monogram span{font-size:42px;right:5px;top:5px}.card-bottom>span{display:block}.about-copy h2{font-size:32px}.about-copy>p:not(.kicker){font-size:12px}.contact h2{font-size:45px;letter-spacing:-2px}.contact-orbit{width:86px;height:86px;flex-shrink:0}.contact-orbit span{font-size:9px;letter-spacing:0}.contact-orbit b{font-size:27px}.contact-bottom{display:block;margin-top:26px}.contact-bottom p{font-size:10px}.availability{font-size:9px}.footer{padding:35px 7% 25px}.footer-brand{font-size:23vw}.footer-row{align-items:flex-start;font-size:9px;line-height:1.8;flex-direction:column;gap:15px;margin-top:20px}.footer-row>div{width:100%;justify-content:space-between}dialog{padding:32px 23px}dialog h2{font-size:27px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
/* All actionable controls share the imported Liquid Glass material. */
.glass-control{position:relative;isolation:isolate;background:transparent!important;border-color:transparent!important;box-shadow:none!important;overflow:visible;transition:none!important}
.glass-control>.control-glass{position:absolute;pointer-events:none;z-index:-1;max-width:none;display:block}
.hero .glass-control{color:#fff}.glass-control:not(.glass-nav):not(.nav-marker):not(.demo-lens):hover{background:transparent!important;transform:none!important}
.glass-control:not(.glass-rendered){background:color-mix(in srgb,var(--glass-tint,#fff) var(--glass-alpha,8%),transparent)!important;backdrop-filter:blur(var(--glass-blur,1px));border-radius:var(--glass-radius,30px)}
.glass-nav .nav-marker{background:none;box-shadow:none}.glass-nav a[aria-current]{font-weight:650;text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px}
.hero-bottom>a,.text-link,.footer-row a,.footer-row button,#social-links a{padding:11px 17px;min-height:40px;display:inline-flex;align-items:center;justify-content:center;gap:12px}
.dialog-close{width:36px;height:36px;display:grid;place-items:center;padding:0}.header-contact{padding:6px 12px}.header-contact>span{border:0}
.project .project-arrow{transform:none!important;background:transparent!important;color:inherit}.project:hover .project-arrow{background:transparent!important;transform:none!important}
.project-art .project-arrow{color:#fff}.type-art .project-arrow{color:#4c4d38}
.demo-lens{background:transparent;border:0;box-shadow:none;backdrop-filter:none}
@media(max-width:600px){.header-contact{padding:4px 8px}.footer-row>div{gap:10px}.footer-row button,.footer-row a{padding:9px 12px}}

.dialog-action.glass-control{color:var(--ink)}.contact-orbit.glass-control:not(.glass-nav):not(.nav-marker):not(.demo-lens):hover{color:#52634b}

.glass-nav.glass-control{position:absolute}.glass-nav .nav-marker{display:none}.glass-nav a{background:transparent;box-shadow:none}
/* Apple Music / Photos-style multi-destination hierarchy; the Studio material is unchanged. */
.glass-nav.glass-control{width:400px;height:76px;padding:6px;gap:0;border-radius:40px}
.glass-nav a{display:flex;flex-direction:column;justify-content:center;gap:4px;flex:1;min-width:0;padding:4px 0;border-radius:32px;color:#263238;font-size:11px;font-weight:550;letter-spacing:.2px;line-height:1;text-shadow:none;z-index:1;transition:color .18s ease}
.glass-nav a svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transition:transform .24s ease}
.glass-nav a[aria-current]{color:#e82d4f;font-weight:650;text-decoration:none}
.glass-nav a[aria-current] svg{fill:currentColor;stroke-width:1.5}
.glass-nav a[aria-current] .icon-detail{stroke:#fff}
.glass-nav.glass-control .nav-marker{display:block;position:absolute;top:6px;bottom:6px;left:0;width:calc((100% - 12px)/4);border-radius:34px;background:transparent;box-shadow:none;z-index:0;transition:transform .42s cubic-bezier(.22,1,.36,1),width .25s ease;pointer-events:none}
.glass-nav.tab-pressing a:active svg{transform:scale(.88)}
.glass-nav a:focus-visible{outline:2px solid #e82d4f;outline-offset:-3px}
@media(hover:hover){.glass-nav a:not([aria-current]):hover{color:#111b22}.glass-nav a:hover svg{transform:translateY(-1px)}}
@media(max-width:900px){.glass-nav.glass-control{width:340px;height:72px}.glass-nav a svg{width:23px;height:23px}}
@media(max-width:600px){.glass-nav.glass-control{width:min(340px,calc(100vw - 40px));height:72px;top:67px}.glass-nav a{font-size:11px;gap:4px}}

/* Both navigation layers are rendered by the Studio shader, with separate parameters. */
.glass-nav.glass-control .nav-marker.glass-control{background:transparent!important;box-shadow:none!important;backdrop-filter:none;transition:transform .42s cubic-bezier(.22,1,.36,1),width .25s ease!important}
@media(prefers-reduced-motion:reduce){.glass-nav.glass-control .nav-marker.glass-control{transition:none!important}}

.glass-control{transform-origin:center}.glass-control:not(.glass-nav):not(.nav-marker){will-change:scale,translate}

.glass-nav a svg{transition:transform .24s cubic-bezier(.22,1,.36,1)}

.glass-nav a svg{transition:transform .24s cubic-bezier(.22,1,.36,1)}

/* Navigation uses a traveling lens; labels keep a stable baseline and size. */
.glass-nav.glass-control .nav-marker.glass-control{transition:none!important;scale:1!important;translate:none!important}
.glass-nav a,.glass-nav a[aria-current],.glass-nav a:hover{color:#263238;font-weight:600;transition:none;touch-action:pan-y}
.glass-nav .nav-label-content{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;pointer-events:none}
.glass-nav .nav-color-copy{position:absolute;inset:0;color:#e82d4f;pointer-events:none;will-change:clip-path}
.glass-nav a svg,.glass-nav a[aria-current] svg,.glass-nav a:hover svg,.glass-nav.tab-pressing a:active svg{fill:none;stroke-width:1.8;transform:none;transition:none}
.glass-nav a[aria-current] .icon-detail{stroke:currentColor}
.glass-nav{touch-action:pan-y;user-select:none}

/* Featured interactive work: a lightweight cover, with the 3D scene on its own page. */
.pegboard-art{height:340px;background:#e7e9de;color:#3d5143;display:flex;align-items:center}.pegboard-cover-copy{position:relative;z-index:1;flex:0 0 40%;padding-left:6%}.pegboard-cover-copy h3{font-size:38px;font-weight:500;line-height:1.4;letter-spacing:-1px;margin:0 0 14px}.pegboard-cover-copy p{font-size:12px;color:#6e7c68;margin:0 0 24px}.pegboard-cover-link{font-size:11px;border-bottom:1px solid #7d8b74;padding-bottom:6px}.pegboard-art>img{width:60%;height:100%;object-fit:contain;transition:transform .45s cubic-bezier(.2,.75,.25,1)}.pegboard-project:hover .pegboard-art>img{transform:translateY(-5px) rotate(1deg)}.pegboard-art .project-arrow{color:#3d5143;border-color:#73856a66}
@media(max-width:600px){.pegboard-art{height:390px;display:block}.pegboard-cover-copy{padding:62px 25px 0}.pegboard-cover-copy h3{font-size:27px;margin-bottom:8px}.pegboard-cover-copy h3 br{display:none}.pegboard-cover-copy p{font-size:11px;margin-bottom:17px}.pegboard-art>img{position:absolute;right:-12%;bottom:-18px;width:88%;height:250px}.pegboard-art .project-arrow{z-index:2}}

.airport-art{background:#29352b;color:#e5e4c7}.airport-art .pegboard-cover-copy p{color:#a1b097}.airport-art .pegboard-cover-link{border-color:#a2b095}.airport-art .project-arrow{color:#e5e4c7;border-color:#e5e4c760}
