@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/fef07dbb0973bf53-s.00az9qtie3ho1.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8a480f0b521d4e75-s.3j-a226dh71aj.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/53b9e256198e5412-s.2gwoz23eiro2t.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7178b3e590c64307-s.0i3h3th1vs4m7.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/caa3a2e1cccd8315-s.p.0zr6hhvz-h9nw.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Fallback;src:local(Arial);ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.0%;size-adjust:104.76%}.geist_2896134d-module__RFGrzG__className{font-family:Geist,Geist Fallback;font-style:normal}.geist_2896134d-module__RFGrzG__variable{--font-geist:"Geist", "Geist Fallback"}
@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/13bf9871fe164e7f-s.3bz3aq452sydg.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/cc545e633e20c56d-s.2sb9jzhmrh7ny.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/71b036adf157cdcf-s.343obqi851wr5.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/89b21bb081cb7469-s.40kcwrf1wub16.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/3fe682a82f50d426-s.200l3jur7oygh.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/70bc3e132a0a741e-s.p.269kn9uafm0ti.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono Fallback;src:local(Arial);ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.0%;size-adjust:134.59%}.jetbrains_mono_510b2fa7-module__sVKnYq__className{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.jetbrains_mono_510b2fa7-module__sVKnYq__variable{--font-mono:"JetBrains Mono", "JetBrains Mono Fallback"}
:root{--canvas:#f8faf5;--ivory:#f5f3ee;--ink:#222522;--muted:#626760;--green:#435a4a;--line:#c8c6bd;--subtle:#ebe9e3}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--canvas);color:var(--ink);font-family:var(--font-geist),Arial,sans-serif;margin:0;font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}a:hover{color:var(--green)}button,input,select,textarea{font:inherit}button{cursor:pointer}h1,h2,h3,p{margin-top:0}h1,h2,h3{letter-spacing:-.025em;font-weight:500;line-height:1.2}h1{font-size:clamp(2.2rem,5vw,3rem)}h2{font-size:clamp(1.65rem,3vw,2rem)}h3{font-size:1.3rem}p{color:var(--muted)}:focus-visible{outline:2px solid var(--green);outline-offset:3px}.shell{width:min(100% - 48px,1160px);margin-inline:auto}.mono,.eyebrow,.tag,.text-link,.archive-meta,.footer-links,.contact-lines span,.preview-bottom{font-family:var(--font-mono),monospace}.eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:11px;line-height:1.5;display:block}.tag{border:1px solid var(--line);background:var(--ivory);color:var(--ink);letter-spacing:.04em;text-transform:uppercase;border-radius:3px;align-items:center;gap:6px;padding:4px 8px;font-size:10px;line-height:1.4;display:inline-flex}.tag i{background:var(--green);border-radius:50%;flex:none;width:5px;height:5px}.text-link{border-bottom:1px solid var(--line);align-items:center;gap:8px;padding-bottom:2px;font-size:12px;display:inline-flex}.text-link:hover{border-color:var(--green)}.button{border:1px solid var(--line);border-radius:4px;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:9px 17px;font-size:14px;font-weight:500;line-height:1.2;transition:background-color .15s,color .15s,border-color .15s;display:inline-flex}.button-primary{background:var(--ink);border-color:var(--ink);color:var(--canvas)}.button-primary:hover{background:var(--green);border-color:var(--green);color:#fff}.button-outline:hover{border-color:var(--ink)}.button-group{flex-wrap:wrap;gap:12px;display:flex}.skip-link{z-index:10;background:var(--ink);color:#fff;padding:10px;position:absolute;top:-60px;left:16px}.skip-link:focus{top:12px}.site-header{border-bottom:1px solid var(--line);background:#f8faf5f2}.header-inner{justify-content:space-between;align-items:center;gap:24px;height:76px;display:flex}.brand{letter-spacing:-.03em;white-space:nowrap;font-size:20px;font-weight:500}.main-nav{align-items:center;gap:34px;display:flex}.main-nav a{color:var(--muted);font-size:14px}.main-nav a:hover{color:var(--green)}.header-cta{white-space:nowrap;font-size:12px}.site-footer{border-top:1px solid var(--line);margin-top:96px}.footer-inner{justify-content:space-between;align-items:center;gap:24px;min-height:120px;display:flex}.footer-inner p{margin:0;font-size:12px}.footer-inner .mono{color:var(--ink);letter-spacing:.06em;font-size:11px}.footer-separator{color:var(--line);margin:0 16px}.footer-links{letter-spacing:.03em;gap:22px;font-size:11px;display:flex}.home-hero{grid-template-columns:1.3fr .8fr;align-items:start;gap:10%;min-height:560px;padding:80px 0 84px;display:grid}.hero-copy{padding-top:20px}.hero-copy h1{margin:18px 0 20px}.hero-copy p{max-width:590px;margin-bottom:38px;font-size:18px;line-height:1.6}.portrait-placeholder{aspect-ratio:3/4;border:1px solid var(--line);background:var(--ivory);text-align:center;width:100%;max-width:390px;color:var(--muted);border-radius:6px;place-items:center;display:grid;position:relative}.portrait-placeholder p{margin:8px 0;font-size:12px;line-height:1.5}.portrait-caption{border-top:1px solid var(--line);font:9px var(--font-mono),monospace;letter-spacing:.06em;justify-content:space-between;gap:6px;padding-top:7px;display:flex;position:absolute;bottom:12px;left:12px;right:12px}.section{border-top:1px solid var(--line);padding:70px 0}.section-heading{margin-bottom:22px}.section-heading h2{margin:0 0 8px}.section-heading p{font-size:14px}.project-row{border-bottom:1px solid var(--line);grid-template-columns:24% 1fr 12%;align-items:start;gap:22px;padding:38px 0;display:grid}.project-meta{flex-direction:column;align-items:flex-start;gap:9px;display:flex}.project-content h3{margin:0 0 4px}.project-content h3 a:hover{text-underline-offset:4px;text-decoration:underline;text-decoration-thickness:1px}.subtitle{color:var(--green);letter-spacing:.02em;font-size:12px;display:block}.project-content>p{color:var(--ink);margin:6px 0 15px;font-size:14px}.contribution{border-left:2px solid var(--green);padding-left:12px}.contribution p{margin:4px 0 0;font-size:13px;line-height:1.6}.project-link{white-space:nowrap;justify-self:end;margin-top:6px}.project-list-compact .project-row{grid-template-columns:41% 1fr;padding:30px 0}.project-list-compact .project-meta{grid-area:1/1}.project-list-compact .project-content{grid-area:1/1;padding-top:22px}.project-list-compact .project-content h3{font-size:18px}.project-list-compact .project-content>p{color:var(--muted);font-size:13px}.project-list-compact .contribution{border:1px solid var(--line);border-radius:4px;grid-area:1/2;margin-top:8px;padding:18px 20px}.project-list-compact .project-link{grid-area:1/2;place-self:end start;margin-top:0;transform:translateY(18px)}.section-more{margin-top:42px}.about-preview p{max-width:760px;color:var(--ink);margin:18px 0;font-size:18px;line-height:1.65}.contact-preview{grid-template-columns:1fr 1.2fr;gap:9%;display:grid}.contact-preview h2{margin:8px 0}.contact-preview p{max-width:360px;font-size:14px}.contact-lines>div{border-top:1px solid var(--line);justify-content:space-between;gap:20px;padding:12px 0;font-size:13px;display:flex}.contact-lines>div:last-child{border-bottom:1px solid var(--line)}.contact-lines span{text-transform:uppercase;letter-spacing:.05em;font-size:10px}.page-space{padding-top:72px;padding-bottom:48px}.page-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:end;gap:50px;padding-bottom:26px;display:flex}.page-heading h1{margin:8px 0 0}.page-heading>p{max-width:500px;margin:0;font-size:16px}.archive-meta{justify-content:space-between;gap:16px;padding-top:14px;display:flex}.archive-meta span{font-size:10px}.notice{background:var(--ivory);border:1px solid var(--line);border-radius:4px;max-width:740px;margin-top:58px;padding:20px 24px}.notice p{margin:4px 0 0;font-size:13px}.detail-page{padding-top:48px}.back-link{color:var(--muted);font-size:12px}.detail-heading{margin:16px 0 28px}.detail-heading h1{max-width:900px;margin:8px 0 12px}.detail-heading p{max-width:750px;font-size:17px}.detail-facts{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(3,1fr);gap:22px;padding:20px 0;display:grid}.detail-facts strong{margin-top:5px;font-size:13px;font-weight:500;display:block}.system-preview{border:1px solid var(--line);background:var(--ivory);aspect-ratio:16/8.5;border-radius:5px;flex-direction:column;min-height:310px;margin:44px 0 56px;padding:20px;display:flex}.preview-top{border-bottom:1px solid var(--line);color:var(--muted);align-items:center;gap:12px;padding-bottom:12px;font-size:10px;display:flex}.preview-top .tag{margin-left:auto}.preview-dots{color:var(--line);letter-spacing:2px}.preview-body{flex:1;grid-template-columns:24% 1fr;gap:20px;padding:18px 0;display:grid}.preview-sidebar{border-right:1px solid var(--line);padding:14px}.preview-sidebar i{background:#deded8;width:75%;height:9px;margin-bottom:11px;display:block}.preview-sidebar i:nth-child(2){width:95%}.preview-sidebar i:nth-child(3){width:55%}.preview-main{flex-direction:column;gap:10px;display:flex}.preview-widgets{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.preview-widgets div{background:var(--canvas);border:1px solid var(--line);font:10px var(--font-mono),monospace;padding:12px}.preview-canvas{border:1px dashed var(--line);background:var(--canvas);text-align:center;font:10px var(--font-mono),monospace;color:var(--muted);flex:1;place-items:center;padding:16px;display:grid}.preview-bottom{border-top:1px solid var(--line);color:var(--muted);padding-top:10px;font-size:10px}.case-study{max-width:760px}.case-study section{border-bottom:1px solid var(--line);margin-bottom:36px;padding:0 0 34px}.case-study section h2{margin-bottom:12px;font-size:22px}.case-study p{font-size:15px}.case-study .notice{margin-top:0}.tech-tags{flex-wrap:wrap;gap:7px;margin-top:12px;display:flex}.detail-nav{border-top:1px solid var(--line);justify-content:space-between;gap:30px;margin-top:70px;padding-top:22px;display:flex}.detail-nav a{max-width:43%}.detail-nav a:last-child{text-align:right}.detail-nav strong{margin-top:6px;font-size:15px;font-weight:500;display:block}.about-hero{grid-template-columns:1.25fr .8fr;align-items:start;gap:9%;display:grid}.about-hero h1{margin:10px 0 20px}.about-hero p{max-width:720px}.about-facts{border-top:1px solid var(--line);margin-top:28px;padding-top:18px}.about-facts span{padding:0 10px}.about-photo{aspect-ratio:3/4;border:1px solid var(--line);background:var(--ivory);border-radius:5px;flex-direction:column;justify-content:center;align-items:center;min-height:410px;display:flex}.about-photo p{font-size:12px}.narrative p{max-width:740px}.experience-list article{border-top:1px solid var(--line);grid-template-columns:35% 1fr;gap:35px;padding:28px 0;display:grid}.experience-list article:last-child{border-bottom:1px solid var(--line)}.experience-list h3{margin:0 0 5px;font-size:19px}.experience-list p{margin:0;font-size:14px}.skill-grid{grid-template-columns:repeat(2,1fr);gap:18px;display:grid}.skill-grid article{border:1px solid var(--line);background:var(--canvas);border-radius:5px;padding:22px}.skill-grid h3{border-bottom:1px solid var(--line);padding-bottom:10px;font-size:18px}.skill-grid p{font-size:13px}.principle-grid{grid-template-columns:repeat(3,1fr);gap:20px;margin-top:22px;display:grid}.principle-grid>div{border-top:1px solid var(--ink);padding-top:18px}.principle-grid h3{margin:12px 0 7px;font-size:17px}.principle-grid p{font-size:13px}.about-cta{border:1px solid var(--line);border-radius:5px;justify-content:space-between;align-items:center;gap:24px;padding:32px;display:flex}.about-cta p{margin-bottom:0}.contact-page .page-heading{padding-bottom:60px}.contact-page .page-heading>p{font-size:20px}.contact-layout{grid-template-columns:40% 1fr;gap:6%;padding-top:60px;display:grid}.contact-method{border-top:1px solid var(--line);padding:20px 0}.contact-layout>div>.eyebrow{margin-bottom:20px}.contact-method a{text-decoration:underline;-webkit-text-decoration-color:var(--line);text-decoration-color:var(--line);text-underline-offset:4px;overflow-wrap:anywhere;margin-top:13px;display:inline-block}.availability{border:1px solid var(--line);background:var(--ivory);border-radius:4px;margin-top:32px;padding:22px}.availability>div{grid-template-columns:1fr 1fr;gap:15px;margin:22px 0;display:grid}.availability small{margin-bottom:7px}.availability span{font-size:13px}.availability p{border-top:1px solid var(--line);margin-bottom:0;padding-top:15px;font-size:13px}.contact-form{border:1px solid var(--line);background:#fafaf7;border-radius:5px;padding:36px}.contact-form h2{margin:0 0 7px}.contact-form>p{margin-bottom:25px;font-size:14px}.contact-form label{font:13px var(--font-mono),monospace;letter-spacing:.03em;margin:18px 0 8px;display:block}.contact-form input,.contact-form select,.contact-form textarea{background:var(--canvas);border:1px solid var(--line);width:100%;color:var(--ink);border-radius:4px;padding:13px 15px}.contact-form textarea{resize:vertical}.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{outline:2px solid var(--green);outline-offset:2px}.form-bottom{justify-content:space-between;align-items:center;gap:16px;margin-top:28px;display:flex}.contact-form .form-note{margin:20px 0 0;font-size:12px}.not-found{min-height:55vh}.not-found h1{margin:12px 0}.not-found .button{margin-top:15px}@media (max-width:850px){.home-hero{gap:5%}.project-row{grid-template-columns:25% 1fr}.project-link{grid-column:2;justify-self:start}.project-list-compact .project-row{grid-template-columns:1fr}.project-list-compact .project-meta,.project-list-compact .project-content,.project-list-compact .contribution,.project-list-compact .project-link{grid-area:auto/1;margin:0;padding-top:0;transform:none}.project-list-compact .contribution{margin-top:10px}.contact-layout{grid-template-columns:1fr 1fr;gap:32px}}@media (max-width:650px){.shell{width:min(100% - 40px,1160px)}.header-inner{flex-wrap:wrap;height:auto;min-height:72px;padding-block:16px}.main-nav{order:3;justify-content:space-between;gap:12px;width:100%}.header-cta{margin-left:auto}.home-hero{grid-template-columns:1fr;gap:34px;min-height:0;padding:50px 0 60px}.hero-copy{padding:0}.portrait-placeholder{justify-self:center;max-width:340px}.section{padding:54px 0}.project-row,.project-list-compact .project-row{grid-template-columns:1fr;gap:14px;padding:26px 0}.project-meta,.project-content,.project-link{grid-column:1}.project-link{margin:0}.contact-preview,.page-heading,.about-hero,.contact-layout{grid-template-columns:1fr;gap:25px;display:grid}.page-space{padding-top:50px}.archive-meta{flex-direction:column}.detail-facts{grid-template-columns:1fr;gap:12px}.system-preview{aspect-ratio:auto;min-height:260px;padding:12px}.preview-sidebar{display:none}.preview-body{grid-template-columns:1fr}.preview-widgets div{padding:8px;font-size:8px}.about-photo{max-width:330px;min-height:300px}.experience-list article,.skill-grid,.principle-grid{grid-template-columns:1fr}.about-cta{flex-direction:column;align-items:flex-start}.contact-page .page-heading{padding-bottom:32px}.contact-page .page-heading>p{font-size:17px}.contact-layout{padding-top:32px}.contact-form{padding:22px}.footer-inner{flex-direction:column;align-items:flex-start;padding-block:28px}.detail-nav{gap:14px}.detail-nav a{max-width:50%}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
:root{--night:#141413;--night-soft:#20201e;--champagne:#e7d3ae;--paper:#f7f6f2;--rule:#d6d3cc;--body:#41413e}body{background:var(--paper);color:var(--night)}p{color:var(--body)}a:hover{color:#936c3d}.shell{width:min(100% - 72px,1240px)}.site-header{z-index:4;background:var(--night);color:var(--paper);border:0;position:relative}.header-inner{height:82px}.brand{letter-spacing:-.08em;color:var(--paper);align-items:center;gap:14px;font-family:Georgia,serif;font-size:27px;display:flex}.brand span{color:var(--champagne)}.brand small{font:10px var(--font-mono),monospace;letter-spacing:.13em;color:var(--champagne);max-width:70px;line-height:1.45}.main-nav{gap:32px}.main-nav a{color:#e4e1dc;font:10px var(--font-mono),monospace;letter-spacing:.13em}.main-nav a:hover,.header-cta:hover,.brand:hover{color:var(--champagne)}.header-cta{color:var(--paper);font:10px var(--font-mono),monospace;letter-spacing:.1em;white-space:nowrap;border-bottom:1px solid #70695e;gap:16px;padding:9px 0;display:inline-flex}.site-footer{background:var(--night);color:#ddd7cb;border-top:1px solid #484640;margin-top:0}.footer-inner{min-height:104px}.footer-inner p,.footer-inner .mono,.footer-links a{color:#bbb7af}.footer-links a:hover{color:var(--champagne)}.eyebrow,.small-label,.section-topline,.hero-kicker,.hero-bottom,.concept-link,.light-link,.showcase-art-label,.showcase-art-note,.showcase-corner,.all-work,.contact-email,.concept-contact-link{font-family:var(--font-mono),monospace;letter-spacing:.1em}.concept-home h1,.concept-home h2,.concept-home h3{letter-spacing:-.045em;font-family:Georgia,serif;font-weight:400}.concept-home em{color:var(--champagne);font-weight:400}.concept-hero{background:var(--night);color:var(--paper);min-height:calc(100svh - 82px);overflow:hidden}.concept-hero-inner{flex-direction:column;min-height:calc(100svh - 82px);display:flex}.hero-identity{align-items:center;gap:20px;padding-top:42px;display:flex}.identity-mark{letter-spacing:-.09em;color:var(--paper);font-family:Georgia,serif;font-size:47px;line-height:1}.identity-mark span{color:var(--champagne)}.identity-caption{font:9px/1.5 var(--font-mono),monospace;letter-spacing:.13em;color:#b5ac9d}.concept-hero-grid{flex:1;grid-template-columns:1fr 1fr;align-items:center;gap:4%;padding:30px 0 28px;display:grid}.concept-hero-copy{z-index:1;padding:15px 0 36px;position:relative}.hero-kicker{color:var(--champagne);margin:0 0 30px;font-size:10px}.hero-kicker span{color:#8c8982;margin-left:10px}.concept-hero h1{color:var(--paper);white-space:nowrap;margin:0 0 32px;font-size:clamp(58px,7.4vw,112px);line-height:.96}.hero-description{color:#bdbab4;max-width:470px;margin-bottom:37px;font-size:16px;line-height:1.8}.concept-hero-actions{flex-wrap:wrap;gap:34px;display:flex}.concept-link{border-bottom:1px solid var(--champagne);color:var(--champagne);justify-content:space-between;align-items:center;gap:20px;padding-bottom:12px;font-size:11px;transition:color .2s,border-color .2s;display:inline-flex}.concept-link:hover{color:#fff;border-color:#fff}.concept-link-muted{color:#bbb5a9;border-color:#6b675f}.hero-art{isolation:isolate;aspect-ratio:1/1.02;background:radial-gradient(circle at 55% 45%,#30302d 0,#20201f 42%,#151514 78%);border:1px solid #4b4945;justify-self:end;width:min(100%,580px);position:relative;overflow:hidden}.hero-profile-photo{object-fit:cover;object-position:center}.about-photo{position:relative;overflow:hidden}.about-profile-photo{object-fit:cover;object-position:center}.art-grid{opacity:.28;background-image:linear-gradient(#55534e 1px,#0000 1px),linear-gradient(90deg,#55534e 1px,#0000 1px);background-size:49px 49px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(130deg,#0000,#000 25% 75%,#0000);mask-image:linear-gradient(130deg,#0000,#000 25% 75%,#0000)}.art-orbit{border:1px solid #e7d3ae73;border-radius:50%;display:block;position:absolute;transform:rotate(-24deg)}.art-orbit-one{width:112%;height:67%;top:16%;left:2%}.art-orbit-two{border-color:#e7d3ae33;width:75%;height:112%;top:-6%;left:15%}.art-initials{letter-spacing:-.14em;color:#ebdfca;text-shadow:0 18px 55px #00000080;place-items:center;padding-right:.14em;font-family:Georgia,serif;font-size:clamp(130px,19vw,270px);display:grid;position:absolute;inset:0}.art-caption,.art-index{font:10px/1.6 var(--font-mono),monospace;letter-spacing:.12em;color:#d6c9b2;position:absolute}.art-caption{bottom:22px;left:23px}.art-index{top:22px;right:23px}.hero-bottom{color:#9c9890;border-top:1px solid #393937;justify-content:space-between;gap:20px;padding:19px 0 25px;font-size:9px;display:flex}.expertise-strip{border-bottom:1px solid var(--rule);background:#e8e4db}.expertise-strip .shell{min-height:72px;font:10px var(--font-mono),monospace;letter-spacing:.13em;color:#48453f;justify-content:space-between;align-items:center;gap:20px;display:flex}.strip-star{color:#a28b68;font-size:19px}.section-topline{color:#79756d;border-top:1px solid #a7a39b;justify-content:space-between;gap:20px;padding-top:16px;font-size:10px;display:flex}.concept-intro{padding-top:130px;padding-bottom:135px}.intro-grid{grid-template-columns:1fr .9fr;gap:12%;padding:72px 0 85px;display:grid}.small-label{color:#8b7659;font-size:10px;line-height:1.5;display:block}.intro-grid h2,.concept-about h2{margin:17px 0 0;font-size:clamp(50px,6vw,88px);line-height:1.03}.intro-grid h2 em,.concept-about h2 em{color:#aa8860}.intro-grid p,.concept-about-grid p{max-width:530px;font-size:17px;line-height:1.8}.intro-grid .intro-lead{color:var(--night);font-family:Georgia,serif;font-size:25px;line-height:1.5}.light-link{color:var(--night);border-bottom:1px solid #a8895d;align-items:center;gap:30px;margin-top:18px;padding:0 0 12px;font-size:10px;display:inline-flex}.light-link:hover{color:#8a6740}.principle-grid-concept{grid-template-columns:repeat(3,1fr);gap:38px;display:grid}.principle-grid-concept article{border-top:1px solid #aaa69d;padding-top:23px}.principle-grid-concept article>span{font:10px var(--font-mono),monospace;letter-spacing:.12em;color:#927d5e}.principle-grid-concept h3{margin:30px 0 12px;font-size:28px}.principle-grid-concept p{font-size:14px;line-height:1.75}.concept-work{background:#e8e5de;padding:120px 0 135px}.work-heading{grid-template-columns:1fr .7fr;align-items:end;gap:10%;padding:65px 0 70px;display:grid}.work-heading h2{margin:10px 0 0;font-size:clamp(60px,7vw,104px);line-height:1}.work-heading h2 em{color:#ae8e66}.work-heading>p{max-width:330px;margin-bottom:4px;line-height:1.7}.showcase-list{gap:110px;display:grid}.showcase{grid-template-columns:1.15fr .85fr;align-items:center;gap:7%;display:grid}.showcase:nth-child(2n) .showcase-art{order:2}.showcase-art{aspect-ratio:1.28;color:#f3ecdf;background:#2b3231;transition:filter .25s;display:block;position:relative;overflow:hidden}.showcase-art:hover{filter:brightness(1.16);color:#fff}.showcase-art:before,.showcase-art:after{content:"";pointer-events:none;position:absolute}.showcase-art:before{border:1px solid #ffffff59;inset:9%}.showcase-art:after{border:1px solid #ffffff38;border-radius:50%;width:65%;height:65%;top:19%;left:20%;transform:rotate(-25deg)scaleX(1.25)}.showcase-art-2{background:#55493e}.showcase-art-3{background:#29363a}.showcase-art-4{background:#3e3734}.showcase-corner{color:#dcd7cb;font-size:10px;position:absolute;top:11%;left:12%}.showcase-symbol{color:#ffffffc7;place-items:center;font-family:Georgia,serif;font-size:clamp(150px,21vw,320px);font-weight:400;line-height:1;display:grid;position:absolute;inset:0}.showcase-art-label{font-size:11px;line-height:1.8;position:absolute;bottom:13%;left:12%}.showcase-art-note{color:#bebbb5;font-size:7px;position:absolute;bottom:6%;right:5%}.showcase-copy .small-label{font-size:10px}.showcase-copy h3{margin:20px 0;font-size:clamp(33px,3.3vw,50px);line-height:1.15}.showcase-copy>p{font-size:16px;line-height:1.7}.showcase-copy .showcase-contribution{color:#66645f;margin-top:22px;font-size:13px}.all-work{text-align:right;border-top:1px solid #aba79f;margin-top:95px;padding-top:22px}.all-work .light-link{margin:0}.concept-about{padding-top:125px;padding-bottom:130px}.concept-about-grid{grid-template-columns:1fr 1fr;align-items:center;gap:13%;padding-top:70px;display:grid}.concept-contact{background:var(--night);color:var(--paper);padding:110px 0 100px}.concept-contact .section-topline{color:#a9a299;border-color:#666158;margin-bottom:95px}.concept-contact .small-label{color:var(--champagne)}.concept-contact h2{margin:23px 0 55px;font-size:clamp(56px,7vw,104px);line-height:1.05}.concept-contact-bottom{justify-content:space-between;align-items:end;gap:30px;display:flex}.concept-contact-bottom p{color:#aca79e;max-width:340px}.concept-contact-link{border-bottom:1px solid var(--champagne);color:var(--champagne);white-space:nowrap;gap:55px;padding-bottom:15px;font-size:11px;display:inline-flex}.concept-contact-link:hover{color:#fff}.contact-email{color:#9c968c;margin-top:75px;font-size:10px;display:inline-block}.page-space,.detail-page{padding-top:92px;padding-bottom:110px}.page-heading{border-bottom:1px solid #aaa69f;padding-bottom:50px}.page-heading .eyebrow,.detail-heading .eyebrow{color:#9b7e58}.page-heading h1,.detail-heading h1,.about-hero h1{letter-spacing:-.055em;font-family:Georgia,serif;font-size:clamp(60px,8vw,110px);font-weight:400;line-height:1}.page-heading>p{font-size:17px;line-height:1.7}.archive-meta{color:#7c786f;padding-top:18px}.project-list:not(.project-list-compact) .project-row{border-color:#c2beb5;grid-template-columns:23% 1fr 13%;padding:55px 0}.project-list:not(.project-list-compact) .project-content h3{font-family:Georgia,serif;font-size:clamp(29px,3vw,41px);font-weight:400}.project-list .tag,.tech-tags .tag{background:#ebe7dd;border-color:#cbc5b8}.project-list .contribution{border-color:#b39873}.project-list .project-link{border-color:#a88b65}.notice,.availability{background:#eeeae2;border-color:#cec9c0}.detail-heading h1{max-width:1000px}.detail-facts{border-color:#c9c4ba}.system-preview{background:#e5e1d8;border-color:#c2bdb3}.preview-canvas,.preview-widgets div{background:#f7f6f2}.case-study h2,.experience-list h3,.skill-grid h3,.principle-grid h3,.about-cta h2,.contact-form h2{font-family:Georgia,serif;font-weight:400}.case-study section,.detail-nav,.experience-list article,.about-page .section,.contact-method{border-color:#c8c3b9}.about-photo{color:var(--champagne);background:#2c2c2a;border-color:#4d4b45}.about-photo p{color:#aaa69d}.about-page .section-heading h2,.about-page>section>h2{font-family:Georgia,serif;font-size:clamp(36px,4vw,54px);font-weight:400}.skill-grid article,.contact-form{background:#efede7;border-color:#cec9bd}.contact-form input,.contact-form select,.contact-form textarea{background:#f9f8f4}.contact-form .button-primary,.not-found .button-primary{background:var(--night);border-color:var(--night)}@media (max-width:950px){.concept-hero-grid{grid-template-columns:1.1fr .9fr}.concept-hero h1{font-size:clamp(50px,7vw,72px)}.hero-art{width:100%}.showcase{gap:5%}.showcase-list{gap:80px}.concept-intro,.concept-about,.concept-work{padding-block:95px}}@media (max-width:700px){.shell{width:min(100% - 40px,1240px)}.header-inner{height:auto;min-height:72px;padding-block:16px}.brand{font-size:24px}.brand small{font-size:8px}.main-nav{order:3;justify-content:space-between;gap:10px;width:100%;padding-top:12px}.main-nav a{font-size:9px}.header-cta{margin-left:auto;font-size:9px}.concept-hero-inner{min-height:0}.hero-identity{padding-top:38px}.identity-mark{font-size:35px}.concept-hero-grid{grid-template-columns:1fr;gap:35px;padding:50px 0 30px}.concept-hero h1{white-space:normal;font-size:clamp(54px,12vw,83px)}.hero-kicker{font-size:9px}.hero-kicker span{margin:5px 0 0;display:block}.hero-description{font-size:14px}.hero-art{aspect-ratio:1.2;justify-self:center;width:100%;max-width:470px}.art-initials{font-size:clamp(150px,45vw,270px)}.hero-bottom{font-size:8px}.expertise-strip .shell{white-space:nowrap;justify-content:flex-start;gap:24px;min-height:64px;font-size:9px;overflow:hidden}.intro-grid,.concept-about-grid,.work-heading,.showcase{grid-template-columns:1fr;gap:28px}.intro-grid{padding:48px 0}.intro-grid h2,.concept-about h2{font-size:clamp(52px,11vw,72px)}.intro-grid .intro-lead{font-size:21px}.principle-grid-concept{grid-template-columns:1fr;gap:15px}.principle-grid-concept h3{margin-top:13px}.concept-work,.concept-intro,.concept-about{padding-block:72px}.work-heading{padding:48px 0}.work-heading h2{font-size:62px}.showcase-list{gap:65px}.showcase:nth-child(2n) .showcase-art{order:0}.showcase-art{aspect-ratio:1.16}.showcase-symbol{font-size:210px}.showcase-copy h3{margin:14px 0;font-size:35px}.showcase-copy>p{font-size:14px}.all-work{margin-top:65px}.concept-about-grid{padding-top:48px}.concept-contact{padding:78px 0}.concept-contact .section-topline{margin-bottom:75px}.concept-contact h2{font-size:clamp(51px,11vw,78px)}.concept-contact-bottom{flex-direction:column;align-items:flex-start}.concept-contact-link{gap:25px}.contact-email{margin-top:58px}.page-space,.detail-page{padding-top:55px;padding-bottom:70px}.page-heading{gap:20px;padding-bottom:35px}.page-heading h1,.detail-heading h1,.about-hero h1{font-size:clamp(56px,11vw,78px)}.project-list:not(.project-list-compact) .project-row{grid-template-columns:1fr;padding:35px 0}.project-list:not(.project-list-compact) .project-link{grid-column:1}.footer-inner{padding-block:32px}}@media (prefers-reduced-motion:reduce){.showcase-art,.concept-link{transition:none}}.header-tools{align-items:center;gap:25px;display:flex}.language-switcher{border:1px solid #625d53;border-radius:3px;align-items:center;gap:4px;padding:3px;display:inline-flex}.language-switcher a{color:#b8b1a5;min-width:29px;min-height:25px;font:10px var(--font-mono),monospace;letter-spacing:.06em;justify-content:center;align-items:center;padding:3px 5px;display:inline-flex}.language-switcher a:hover{color:#fff}.language-switcher a.active{background:var(--champagne);color:var(--night)}@media (max-width:700px){.header-tools{gap:12px;margin-left:auto}.header-cta{margin-left:0}.language-switcher a{min-width:27px;min-height:24px;font-size:9px}}.hotel-case-study{max-width:100%;margin-top:54px}.hotel-case-study>section:not(.hotel-flow),.hotel-case-study>section:not(.hotel-flow) p{max-width:760px}.hotel-flow-v2{--flow-green:#405b47;--flow-border:#beb8ac;color:var(--night);background:#eeebe4;border:1px solid #bcb5a8;margin:16px 0 55px;padding:clamp(24px,3.2vw,42px)}.hotel-flow-v2 .hotel-flow-heading{justify-content:space-between;align-items:start;gap:24px;display:flex}.hotel-flow-v2 .hotel-flow-heading h2{letter-spacing:-.04em;margin:9px 0 14px;font:400 clamp(31px,3.7vw,48px)/1.1 Georgia,serif}.hotel-flow-v2 .hotel-flow-heading p{color:#5b5b55;max-width:640px;margin:0;font-size:14px}.hotel-flow-v2 .hotel-flow-motion{white-space:nowrap;color:#4c544d;font:11px var(--font-mono),monospace;align-items:center;gap:8px;display:inline-flex}.hotel-flow-v2 .hotel-flow-motion input{accent-color:var(--flow-green)}.hotel-flow-v2 .hotel-flow-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:32px 0 22px;display:grid}.hotel-flow-v2 .hotel-flow-tabs button{border:1px solid var(--flow-border);color:#494b45;text-align:left;cursor:pointer;background:#f5f2eb;align-items:center;gap:15px;min-height:62px;padding:12px 17px;display:flex}.hotel-flow-v2 .hotel-flow-tabs button[aria-pressed=true]{background:var(--night);border-color:var(--night);color:#f5f2eb}.hotel-flow-v2 .hotel-flow-tabs button strong{font:500 14px var(--font-geist),Arial,sans-serif}.hotel-flow-v2 .hotel-flow-tabs button>span:last-child{margin-left:auto;font-size:17px}.hotel-flow-tab-index{font:10px var(--font-mono),monospace;color:#8c816e}.hotel-flow-v2 .hotel-flow-tabs button[aria-pressed=true] .hotel-flow-tab-index{color:var(--champagne)}.hotel-flow-stage-header{color:#526451;font:10px var(--font-mono),monospace;letter-spacing:.1em;border-bottom:1px solid #b5aea2;justify-content:space-between;gap:18px;padding:0 0 11px;display:flex}.hotel-flow-stages{align-items:stretch;margin:20px 0 24px;display:flex}.hotel-flow-stage-wrap{flex:1;align-items:stretch;min-width:0;display:flex}.hotel-flow-stage{color:#272c28;text-align:left;cursor:pointer;background:#f8f6f0;border:1px solid #b9b2a6;flex-direction:column;flex:1;align-items:flex-start;min-width:0;min-height:219px;padding:15px 13px;transition:background-color .28s,color .28s,transform .28s,border-color .28s;display:flex}.hotel-flow-stage:hover{border-color:var(--flow-green);transform:translateY(-3px)}.hotel-flow-stage[data-state=complete]{background:#e4e9e0;border-color:#798b79}.hotel-flow-stage[data-state=active]{border-color:var(--flow-green);background:var(--flow-green);color:#fff;transform:translateY(-4px)}.hotel-flow-stage-top{color:#798476;width:100%;font:10px var(--font-mono),monospace;justify-content:space-between;display:flex}.hotel-flow-stage[data-state=active] .hotel-flow-stage-top{color:#dbe8d8}.hotel-flow-icon{width:53px;height:53px;color:var(--flow-green);background:#edf1e9;border:1px solid #abb9a8;place-items:center;margin:14px 0 17px;display:grid}.hotel-flow-stage[data-state=active] .hotel-flow-icon{color:#fff;background:#496a50;border-color:#91ad91;animation:1.8s ease-in-out infinite hotel-node-pulse}.hotel-flow-icon svg{width:38px;height:38px}.hotel-tech-letter{font:400 39px/.9 Georgia,serif}.hotel-tech-go{font:700 23px/1 var(--font-mono),monospace;letter-spacing:-.12em;padding-right:4px}.hotel-flow-stage-kind{color:#617665;min-height:25px;font:9px/1.3 var(--font-mono),monospace;letter-spacing:.08em;display:block}.hotel-flow-stage[data-state=active] .hotel-flow-stage-kind{color:#cde0cb}.hotel-flow-stage strong{font:500 clamp(16px,1.55vw,21px)/1.15 var(--font-geist),Arial,sans-serif;margin:1px 0 6px;display:block}.hotel-flow-stage-detail{color:#666b64;font-size:11px;line-height:1.35;display:block}.hotel-flow-stage[data-state=active] .hotel-flow-stage-detail{color:#e6eee4}.hotel-flow-connector{background:#b5b4aa;flex:0 0 25px;align-self:center;height:2px;display:block;position:relative}.hotel-flow-connector:after{content:"";border:5px solid #0000;border-left-color:#869986;position:absolute;top:-4px;right:0;transform:translate(6px)}.hotel-flow-connector[data-complete=true]{background:var(--flow-green)}.hotel-flow-connector[data-complete=true]:after{border-left-color:var(--flow-green)}.hotel-flow-signal{background:var(--flow-green);opacity:0;border-radius:50%;width:9px;height:9px;position:absolute;top:-4px;left:0}.hotel-flow-connector[data-travel=true] .hotel-flow-signal{animation:1.15s ease-in-out forwards hotel-signal}.hotel-flow-console{background:#f9f7f2;border:1px solid #c9c2b7;grid-template-columns:minmax(0,1fr) auto;gap:24px;min-height:157px;padding:21px 24px;display:grid}.hotel-flow-inspector .eyebrow{color:#657768}.hotel-flow-packet{color:#365640;font:10px var(--font-mono),monospace;background:#dce7da;margin:9px 0 3px;padding:3px 8px;display:inline-flex}.hotel-flow-inspector h3{margin:3px 0 5px;font:400 25px Georgia,serif}.hotel-flow-inspector p{color:#424941;margin:8px 0 0;font-size:14px}.hotel-flow-control-panel{flex-direction:column;justify-content:center;align-items:flex-end;gap:16px;display:flex}.hotel-flow-controls{flex-wrap:wrap;justify-content:flex-end;gap:7px;display:flex}.hotel-flow-controls button{min-height:36px;color:var(--night);font:11px var(--font-mono),monospace;cursor:pointer;background:0 0;border:1px solid #aea99f;padding:7px 11px}.hotel-flow-controls .hotel-flow-play{background:var(--night);border-color:var(--night);color:#fff;min-width:102px}.hotel-flow-controls button:disabled{opacity:.4;cursor:not-allowed}.hotel-flow-progress{gap:5px;width:min(100%,240px);display:flex}.hotel-flow-progress span{background:#c8c5ba;flex:1;height:3px}.hotel-flow-progress span[data-state=complete],.hotel-flow-progress span[data-state=active]{background:var(--flow-green)}.hotel-flow-note{border-left:2px solid var(--flow-green);color:#3f4d41;margin:20px 0 9px;padding-left:12px;font-size:13px}.hotel-flow-caption{color:#817d72;font:10px var(--font-mono),monospace;margin:0}.hotel-flow-still .hotel-flow-stage,.hotel-flow-still .hotel-flow-icon,.hotel-flow-still .hotel-flow-connector .hotel-flow-signal{transition:none;animation:none}.hotel-flow-still .hotel-flow-connector[data-travel=true] .hotel-flow-signal{opacity:0}@keyframes hotel-signal{0%{opacity:1;left:0}to{opacity:0;left:100%}}@keyframes hotel-node-pulse{50%{box-shadow:0 0 0 5px #d5e6d04d}}@media (max-width:1050px){.hotel-flow-stages{flex-direction:column;gap:0}.hotel-flow-stage-wrap{flex-direction:column}.hotel-flow-stage{grid-template-rows:auto auto auto;grid-template-columns:42px 53px minmax(0,1fr);align-items:center;column-gap:14px;min-height:0;display:grid}.hotel-flow-stage-top{grid-area:1/1/4;align-self:start}.hotel-flow-icon{grid-area:1/2/4;margin:0}.hotel-flow-stage-kind,.hotel-flow-stage strong,.hotel-flow-stage-detail{grid-column:3;min-height:0}.hotel-flow-stage strong{font-size:19px}.hotel-flow-connector{flex:0 0 24px;align-self:center;width:2px;height:24px}.hotel-flow-connector:after{border:5px solid #0000;border-top-color:#869986;top:auto;bottom:-5px;right:-4px;transform:translateY(6px)}.hotel-flow-connector[data-complete=true]:after{border-top-color:var(--flow-green)}.hotel-flow-signal{top:0;left:-4px}.hotel-flow-connector[data-travel=true] .hotel-flow-signal{animation:1.15s ease-in-out forwards hotel-signal-vertical}}@media (max-width:700px){.hotel-flow-v2 .hotel-flow-heading{flex-direction:column}.hotel-flow-v2 .hotel-flow-tabs{grid-template-columns:1fr}.hotel-flow-v2 .hotel-flow-tabs button{min-height:50px}.hotel-flow-stage-header{flex-wrap:wrap;font-size:9px}.hotel-flow-console{grid-template-columns:1fr;padding:19px}.hotel-flow-control-panel{align-items:stretch}.hotel-flow-controls{justify-content:flex-start}.hotel-flow-progress{width:100%}}@keyframes hotel-signal-vertical{0%{opacity:1;top:0}to{opacity:0;top:100%}}@media (prefers-reduced-motion:reduce){.hotel-flow-stage,.hotel-flow-icon,.hotel-flow-connector .hotel-flow-signal{transition:none!important;animation:none!important}}.hotel-flow-lanes{gap:42px;margin:34px 0 26px;display:grid}.hotel-flow-lane{border-top:1px solid #b3ad9f;padding-top:24px}.hotel-flow-lane-heading{justify-content:space-between;align-items:end;gap:22px;display:flex}.hotel-flow-lane-index,.hotel-flow-step-count{color:#526451;font:10px/1.5 var(--font-mono),monospace;letter-spacing:.08em}.hotel-flow-lane-heading h3{letter-spacing:-.025em;margin:7px 0 0;font:400 clamp(24px,2.8vw,34px)/1.2 Georgia,serif}.hotel-flow-v2 .hotel-flow-heading p{line-height:1.7}.hotel-flow-lane .hotel-flow-stages{margin:22px 0 23px}.hotel-flow-v2 .hotel-flow-stage{min-height:250px;padding:20px 17px}.hotel-flow-v2 .hotel-flow-stage-kind{min-height:0;margin:1px 0 8px;line-height:1.45}.hotel-flow-v2 .hotel-flow-stage strong{margin:0 0 10px;line-height:1.3}.hotel-flow-v2 .hotel-flow-stage-detail{font-size:11px;line-height:1.55}.hotel-flow-v2 .hotel-flow-console{gap:36px;min-height:175px;padding:25px 28px}.hotel-flow-v2 .hotel-flow-inspector{max-width:650px}.hotel-flow-v2 .hotel-flow-inspector h4{margin:8px 0 7px;font:400 26px/1.2 Georgia,serif}.hotel-flow-v2 .hotel-flow-inspector p{color:#424941;margin:0;font-size:14px;line-height:1.65}.hotel-flow-v2 .hotel-flow-packet{margin:14px 0 0;line-height:1.5}.hotel-flow-v2 .hotel-flow-note{margin:18px 0 0;line-height:1.6}.hotel-flow-v2 .hotel-flow-caption{border-top:1px solid #c7c0b4;padding-top:17px;line-height:1.6}.case-study>.hotel-flow-v2{border:1px solid #bcb5a8;margin:22px 0 55px;padding:clamp(24px,3.2vw,42px)}.hotel-flow-v2 .hotel-flow-note{font-size:13px}.hotel-flow-v2 .hotel-flow-caption{font-size:10px}@media (max-width:1050px){.hotel-flow-v2 .hotel-flow-stage{grid-template-rows:auto auto auto;min-height:112px;padding:19px 20px}.hotel-flow-v2 .hotel-flow-stage-kind{margin:0 0 3px}.hotel-flow-v2 .hotel-flow-stage strong{margin:0 0 4px}.hotel-flow-lanes{gap:34px}}@media (max-width:700px){.hotel-flow-lane-heading{flex-direction:column;align-items:start;gap:9px}.hotel-flow-v2 .hotel-flow-stage{grid-template-columns:27px 48px minmax(0,1fr);column-gap:12px;padding:16px 14px}.hotel-flow-v2 .hotel-flow-stage strong{font-size:17px}.hotel-flow-v2 .hotel-flow-stage-detail{font-size:11px}.hotel-flow-v2 .hotel-flow-console{gap:24px;padding:20px}.hotel-flow-v2 .hotel-flow-inspector h4{font-size:23px}.hotel-flow-lanes{gap:30px}}.showcase-art-hotel{background:#1e2b28}.showcase-art-hotel:before,.showcase-art-hotel:after{display:none}.showcase-project-image{object-fit:contain}.project-row-image{aspect-ratio:4/3;background:#1e2b28;border:1px solid #bcb5aa;width:min(100%,430px);margin:0 0 25px;display:block;position:relative;overflow:hidden}.project-row-image img{object-fit:contain}.project-row-image:hover{border-color:var(--green)}.showcase-art-employee{aspect-ratio:16/9;background:#eef3fb}.showcase-art-employee:before,.showcase-art-employee:after{display:none}.showcase-art-employee .showcase-project-image{object-fit:contain}.project-row-image-employee{aspect-ratio:16/9;background:#eef3fb}.project-row-image-employee img{object-fit:contain}.showcase-art-smoot{aspect-ratio:16/9;background:#dce7eb}.showcase-art-smoot:before,.showcase-art-smoot:after{display:none}.showcase-art-smoot .showcase-project-image{object-fit:cover}.project-row-image-smoot{aspect-ratio:16/9;background:#dce7eb}.project-row-image-smoot img{object-fit:cover}.showcase-art-hoterip-b2b{aspect-ratio:16/9;background:#d9d7cd}.showcase-art-hoterip-b2b:before,.showcase-art-hoterip-b2b:after{display:none}.showcase-art-hoterip-b2b .showcase-project-image{object-fit:cover}.project-row-image-hoterip-b2b{aspect-ratio:16/9;background:#d9d7cd}.project-row-image-hoterip-b2b img{object-fit:cover}.smoot-cover{border:1px solid var(--line);background:var(--ivory);width:100%;margin:0;padding:8px}.smoot-cover img{width:100%;height:auto;display:block}.employee-case-study{max-width:none}.employee-cover-layout{grid-template-columns:minmax(0,760px) minmax(220px,1fr);align-items:start;gap:clamp(28px,4vw,56px);margin-bottom:52px;display:grid}.employee-cover{border:1px solid var(--line);background:var(--ivory);margin:0;padding:8px 8px 0}.employee-cover img{width:100%;height:auto;display:block}.employee-cover figcaption{color:var(--muted);font:11px/1.5 var(--font-mono),monospace;padding:9px 3px 10px}.employee-technologies{border-top:1px solid var(--line);padding-top:21px}.employee-technologies h2{margin-bottom:24px;font-size:clamp(24px,2.5vw,32px)}.employee-technologies .tech-tags{flex-wrap:wrap;gap:8px;display:flex}.employee-editorial{max-width:760px;margin:0}.employee-editorial section{margin-bottom:36px;padding-bottom:32px}.employee-area-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px;margin:20px 0 0;padding:0;list-style:none;display:grid}.employee-area-list li{border-top:1px solid var(--line);align-items:baseline;gap:14px;padding:14px 0;font-size:14px;line-height:1.5;display:flex}.employee-area-list li span{color:var(--muted);font:11px var(--font-mono),monospace;flex:none}.employee-case-study .notice{max-width:760px;margin-top:0}@media (max-width:800px){.employee-cover-layout{grid-template-columns:1fr;gap:32px}.employee-technologies{max-width:760px}}@media (max-width:520px){.employee-cover-layout{margin-bottom:40px}.employee-cover{padding:5px 5px 0}.employee-area-list{grid-template-columns:1fr}}.smoot-case-study{max-width:none}.smoot-cover-layout{grid-template-columns:minmax(0,760px) minmax(220px,1fr);align-items:start;gap:clamp(28px,4vw,56px);margin-bottom:52px;display:grid}.smoot-sidebar{min-width:0}.smoot-side-block{border-top:1px solid var(--line);padding-top:21px}.smoot-side-block+.smoot-side-block{margin-top:32px}.smoot-side-block h2{margin:0 0 24px;font-size:clamp(24px,2.5vw,32px)}.smoot-side-block .tech-tags{flex-wrap:wrap;gap:8px;display:flex}.smoot-case-study>section{max-width:760px;margin-bottom:36px;padding-bottom:32px}.smoot-case-study>section p{max-width:760px}.smoot-features{padding:0;list-style:none}.smoot-architecture-node span{color:#9b7e58;font:11px var(--font-mono),monospace}.smoot-architecture-node strong{font-size:14px;font-weight:500;line-height:1.4}.smoot-case-study .smoot-note{color:var(--muted);font-size:12px;line-height:1.6}.smoot-architecture{grid-template-columns:1fr;margin:20px 0 14px;display:grid}.smoot-architecture-node{border-top:1px solid var(--line);grid-template-columns:28px 1fr;align-items:center;gap:8px;padding:11px 0;display:grid}.smoot-features{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px;max-width:760px;margin:22px 0 0;display:grid}.smoot-features li{border-top:1px solid var(--line);padding:13px 0;font-size:14px;line-height:1.5}.smoot-case-study .notice{max-width:760px;margin-top:0}@media (max-width:800px){.smoot-cover-layout{grid-template-columns:1fr;gap:32px}.smoot-sidebar{max-width:760px}}@media (max-width:520px){.smoot-cover-layout{margin-bottom:40px}.smoot-cover{padding:5px}.smoot-features{grid-template-columns:1fr}}.hoterip-b2b-case-study{max-width:none}.hoterip-b2b-cover-layout{grid-template-columns:minmax(0,760px) minmax(220px,1fr);align-items:start;gap:clamp(28px,4vw,56px);margin-bottom:52px;display:grid}.hoterip-b2b-cover{border:1px solid var(--line);background:var(--ivory);margin:0;padding:8px 8px 0}.hoterip-b2b-cover img{width:100%;height:auto;display:block}.hoterip-b2b-cover figcaption{color:var(--muted);font:11px/1.5 var(--font-mono),monospace;padding:9px 3px 10px}.hoterip-b2b-sidebar{min-width:0}.hoterip-b2b-side-block{border-top:1px solid var(--line);padding-top:21px}.hoterip-b2b-side-block+.hoterip-b2b-side-block{margin-top:32px}.hoterip-b2b-side-block h2{margin:0 0 24px;font-size:clamp(24px,2.5vw,32px)}.hoterip-b2b-side-block .tech-tags{flex-wrap:wrap;gap:8px;display:flex}.hoterip-b2b-architecture{grid-template-columns:1fr;margin:20px 0 14px;display:grid}.hoterip-b2b-architecture-node{border-top:1px solid var(--line);grid-template-columns:28px 1fr;align-items:center;gap:8px;padding:11px 0;display:grid}.hoterip-b2b-architecture-node span{color:#9b7e58;font:11px var(--font-mono),monospace}.hoterip-b2b-architecture-node strong{font-size:14px;font-weight:500;line-height:1.4}.hoterip-b2b-note{color:var(--muted);font-size:12px;line-height:1.6}.hoterip-b2b-editorial{max-width:760px}.hoterip-b2b-editorial section{margin-bottom:36px;padding-bottom:32px}.hoterip-b2b-features{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px;margin:20px 0 0;padding:0;list-style:none;display:grid}.hoterip-b2b-features li{border-top:1px solid var(--line);align-items:baseline;gap:14px;padding:14px 0;font-size:14px;line-height:1.5;display:flex}.hoterip-b2b-features li span{color:var(--muted);font:11px var(--font-mono),monospace;flex:none}.hoterip-b2b-case-study .notice{margin-top:0}@media (max-width:800px){.hoterip-b2b-cover-layout{grid-template-columns:1fr;gap:32px}.hoterip-b2b-sidebar{max-width:760px}}@media (max-width:520px){.hoterip-b2b-cover-layout{margin-bottom:40px}.hoterip-b2b-cover{padding:5px 5px 0}.hoterip-b2b-features{grid-template-columns:1fr}}
