:root{color-scheme:light;--paper:#f5f2f7;--ink:#302936;--line:#d8d1de}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink)}.gallery{width:min(1440px,calc(100% - 80px));margin:36px auto 48px}.gallery-header{display:flex;align-items:center;justify-content:space-between;gap:40px;border-top:3px solid var(--ink);border-bottom:1px solid var(--line);padding:30px 0 32px;margin-bottom:30px}#site-title{margin:0;font:400 clamp(32px,3.4vw,52px) /1.15 Georgia,Times New Roman,serif;letter-spacing:-.035em}.gallery-mark{flex:0 0 auto;display:grid;grid-template-columns:repeat(3,8px);gap:4px}.gallery-mark i{width:8px;height:8px;background:#a89ab3}.gallery-mark i:nth-child(3n+1){background:#695777}.gallery-mark i:nth-child(5){background:transparent;border:1px solid #a89ab3}.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}.tile{--accent:#6f5c7d;--mat:#ede8f0;display:block;min-width:0;border:1px solid #cfc6d5;border-top:3px solid var(--accent);background:#fffefd;color:inherit;text-decoration:none;box-shadow:0 3px 0 #e5dfe9;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.tile--crash-blossom{--accent:#63785c;--mat:#e9eee5}.tile--allison-in-hanoi{--accent:#a07b42;--mat:#f2ebdf}.tile--dogwood{--accent:#496c5b;--mat:#e8eeea}.tile--hazlitt{--accent:#7b8752;--mat:#eceee3}.tile--wilder-league{--accent:#587082;--mat:#e8edf1}.tile--hanoi-method{--accent:#836b91;--mat:#eee7f2}.tile-heading{display:flex;align-items:center;gap:12px;min-height:76px;padding:16px 18px}.tile-number{align-self:flex-start;padding-top:8px;color:var(--accent);font:11px/1 monospace}.tile-heading h2{flex:1;margin:0;font:400 24px/1.15 Georgia,Times New Roman,serif;letter-spacing:-.025em}.tile-title{display:flex;flex:1;min-width:0;align-items:center;gap:12px;color:inherit;text-decoration:none}.tile-arrow{display:grid;place-items:center;flex:0 0 29px;width:29px;height:29px;border:1px solid #ded7e4;border-radius:50%;color:var(--accent);font:18px/1 Arial,sans-serif}.tile-mat{padding:14px;border-top:1px solid #e2dce7;background:var(--mat)}.tile-preview{position:relative;aspect-ratio:16/9;overflow:hidden;border:1px solid #c6c0c9;background:#fff;box-shadow:0 2px 6px #3029360b}.tile img,.tile-preview-link{display:block;width:100%;height:100%}.tile img{object-fit:cover;object-position:top}.tile-description{position:absolute;inset:0;z-index:1;overflow:auto;padding:18px 18px 48px;background:#fffefdf5;color:#302936;font:14px/1.55 Arial,Helvetica,sans-serif}.tile-description[hidden]{display:none}.tile-description p{margin:0}.tile-description a{display:inline-block;margin-top:10px;color:#302936;text-underline-offset:3px}.tile-info{position:absolute;z-index:2;right:8px;bottom:8px;display:grid;place-items:center;width:34px;height:34px;padding:0;border:1px solid #b8adbf;border-radius:50%;background:#fffefd;color:#302936;box-shadow:0 1px 4px #3029361a;font:20px/1 Georgia,Times New Roman,serif;cursor:pointer;touch-action:manipulation}.tile-info[aria-expanded=true]{font:24px/1 Arial,Helvetica,sans-serif}.tile:hover{border-color:var(--accent);transform:translateY(-3px);box-shadow:0 8px 18px #30293614}.tile:hover .tile-arrow{background:var(--accent);color:#fff;border-color:var(--accent)}.tile a:focus-visible,.tile-info:focus-visible{outline:3px solid var(--ink);outline-offset:3px}.gallery-bottom{display:flex;gap:5px;align-items:center;margin-top:36px;border-top:1px solid var(--line);padding-top:16px}.gallery-bottom span{height:4px;width:24px;background:#7e6c8b}.gallery-bottom span:nth-child(2){width:12px;opacity:.6}.gallery-bottom span:nth-child(3){width:4px;opacity:.3}@media (max-width:1080px){.gallery{width:calc(100% - 48px);margin-top:24px}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.gallery-header{gap:24px}}@media (max-width:640px){.gallery{width:calc(100% - 32px);margin:20px auto 32px}.gallery-header{padding:24px 0;margin-bottom:24px;align-items:flex-start;gap:18px}#site-title{font-size:clamp(30px,7.2vw,38px);max-width:420px}.gallery-mark{grid-template-columns:repeat(3,5px);gap:3px;margin-top:7px}.gallery-mark i{width:5px;height:5px}.gallery-grid{grid-template-columns:1fr;gap:22px}.tile-heading{min-height:70px;padding:14px 16px}.tile-heading h2{font-size:25px}.tile-mat{padding:12px}.tile-info{width:40px;height:40px}.tile-description{padding:16px 16px 52px}}@media (prefers-reduced-motion:reduce){.tile{transition:none}.tile:hover{transform:none}}html{scroll-behavior:smooth}a{-webkit-tap-highlight-color:transparent}.landing{--plum:#493952;--lavender:#d6c7df;font-family:Arial,Helvetica,sans-serif}.landing a{color:inherit;text-decoration:none}.gallery-nav a:focus-visible,.landing a:focus-visible{outline:3px solid #8d699f;outline-offset:7px}.skip-link{position:absolute;z-index:10;top:-100px;left:24px;padding:16px;background:white}.skip-link:focus{top:12px}.site-nav{width:calc(100% - 96px);max-width:1440px;margin:auto;display:flex;justify-content:space-between;gap:32px;min-height:106px;border-bottom:1px solid #cfc5d5}.brand,.site-nav{align-items:center}.brand{display:inline-flex;gap:14px;font:22px/1 Georgia,serif;letter-spacing:.03em}.grid-mark{display:grid;grid-template-columns:repeat(3,7px);gap:3px}.grid-mark i{width:7px;height:7px;background:currentColor}.grid-mark i:nth-child(5){background:none;border:1px solid}.site-nav nav{display:flex;align-items:center;gap:32px;font-size:13px}.site-nav nav a{padding:12px 0}.site-nav nav a:hover{text-decoration:underline;text-underline-offset:5px}.site-nav .nav-work{border:1px solid #b8a8c3;padding:13px 16px}.nav-work span{margin-left:18px}.landing-hero{max-width:1536px;margin:auto;padding:76px 64px 84px;display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:52px}.eyebrow{font-size:11px;font-weight:400;letter-spacing:.14em;text-transform:uppercase;margin:0 0 30px}.hero-copy h1{font:400 clamp(62px,6.9vw,108px)/.99 Georgia,Times New Roman,serif;letter-spacing:-.065em;margin:0 0 30px}.hero-copy h1 span{display:block;font-size:.59em;letter-spacing:-.05em;margin-top:12px;color:#786184;white-space:nowrap}.hero-description{font-size:16px;line-height:1.7;max-width:320px;margin:0 0 32px;color:#665a6b}.primary-link{display:inline-flex;align-items:center;gap:38px;padding:18px 23px;background:var(--plum);color:#fff!important;font-size:13px;border:1px solid var(--plum);transition:background .18s}.primary-link:hover{background:#6b517b}.primary-link span{font-size:21px}.project-composition{position:relative;display:block;width:100%;aspect-ratio:1/1.1;max-height:580px;color:var(--plum)}.composition-outline{position:absolute;inset:3% 0 13% 7%;border:1px solid #cbbcd3;border-radius:49% 49% 0 0;background:#e8e0ed}.project-stack{position:absolute;inset:0}.preview-sheet{position:absolute;width:77%;padding:10px;background:#fffefd;border:1px solid #a798b0;box-shadow:0 12px 22px #30293618;transition:transform .22s ease}.sheet-heading{display:flex;align-items:center;justify-content:space-between;font-size:10px;padding:2px 3px 11px;letter-spacing:.02em}.preview-sheet img{display:block;width:100%;height:auto;border:1px solid #ddd5df}.sheet-1{top:6%;left:3%;transform:rotate(-8deg)}.sheet-2{top:28%;right:0;transform:rotate(7deg)}.sheet-3{top:49%;left:0;transform:rotate(-3deg)}.project-composition:hover .sheet-3{transform:rotate(0deg) translateY(-6px)}.composition-cross{position:absolute;font:20px/1 monospace;color:#8c7898}.cross-top{top:2%;right:3%}.cross-bottom{bottom:9%;right:0}.about-section{display:grid;grid-template-columns:.7fr 1.3fr;gap:80px;padding:78px max(64px,calc((100vw - 1408px) / 2));background:var(--plum);color:#f8f4fa}.about-intro{display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start}.about-intro .grid-mark{grid-template-columns:repeat(3,34px);gap:9px;color:#c6afd6}.about-intro .grid-mark i{width:34px;height:34px}.about-intro>span:last-child{font:400 clamp(56px,7.5vw,116px)/.85 Georgia,serif;letter-spacing:-.045em;color:#a68bb8}.about-row{display:grid;grid-template-columns:40px 1fr;gap:20px;padding:0 0 38px;scroll-margin-top:32px}.about-row+.about-row{padding:38px 0 0;border-top:1px solid #786582}.section-number{font:11px/1 monospace;color:#d0bddb;padding-top:10px}.about-row h2{font:400 37px/1.1 Georgia,serif;letter-spacing:-.03em;margin:0 0 21px}.about-row p{font-size:16px;line-height:1.8;color:#e1d7e7;max-width:560px;margin:0}.about-row p+p{margin-top:16px}.gallery-invitation{max-width:1408px;margin:auto;padding:84px 64px 90px;display:flex;align-items:center;justify-content:space-between;gap:40px}.gallery-invitation .eyebrow{margin-bottom:22px}.gallery-invitation h2{margin:0 0 20px;font:400 clamp(40px,5.5vw,82px)/1.05 Georgia,serif;letter-spacing:-.05em}.gallery-invitation p:last-child{margin:0;color:#665a6b;font-size:15px;line-height:1.6}.gallery-circle{display:grid;place-items:center;flex:0 0 112px;width:112px;height:112px;border:1px solid #a591b1;border-radius:50%;font-size:52px;transition:background .18s,color .18s}.gallery-circle:hover{background:var(--plum);color:#fff}.site-footer{max-width:1440px;margin:0 48px;padding:25px 0 32px;border-top:1px solid #cfc5d5;display:flex;justify-content:space-between;gap:20px;color:#665a6b;font-size:11px}.site-footer a:hover{text-decoration:underline}.gallery-nav{display:flex;justify-content:space-between;gap:20px;padding:0 0 24px;font:12px/1.5 Arial,sans-serif;color:#665a6b}.gallery-nav a{color:inherit;text-decoration:none}.gallery-nav a:hover{text-decoration:underline;text-underline-offset:4px}@media(min-width:1536px){.site-footer{margin-inline:auto}}@media(max-width:1050px){.site-nav{width:calc(100% - 64px)}.site-nav nav{gap:20px}.landing-hero{padding:64px 36px 76px;gap:28px}.hero-copy h1{font-size:7vw}.about-section{gap:50px;grid-template-columns:.5fr 1.5fr}.about-section,.gallery-invitation{padding:64px 36px}.site-footer{margin-inline:32px}}@media(max-width:760px){.site-nav{min-height:86px;width:calc(100% - 40px);gap:20px}.site-nav nav{gap:0}.site-nav nav>a:not(.nav-work){display:none}.site-nav .nav-work{padding:11px 12px;font-size:11px}.nav-work span{margin-left:10px}.brand{font-size:21px;gap:11px}.landing-hero{padding:46px 24px;grid-template-columns:1fr;gap:40px}.hero-copy h1{font-size:clamp(60px,12.5vw,90px)}.hero-copy h1 span{font-size:.59em}.eyebrow{font-size:10px;margin-bottom:27px}.hero-description{font-size:15px;margin-bottom:26px}.project-composition{max-width:470px;margin:0 auto}.about-section{display:block;padding:44px 24px}.about-intro{flex-direction:row;align-items:center;padding-bottom:36px;margin-bottom:32px;border-bottom:1px solid #786582}.about-intro .grid-mark{grid-template-columns:repeat(3,10px);gap:4px}.about-intro .grid-mark i{width:10px;height:10px}.about-intro>span:last-child{font-size:40px}.about-row{grid-template-columns:24px 1fr;gap:12px;padding-bottom:30px}.about-row+.about-row{padding-top:30px}.about-row h2{font-size:31px}.about-row p{font-size:15px}.gallery-invitation{padding:52px 24px;gap:20px;align-items:flex-end}.gallery-invitation h2{font-size:40px}.gallery-invitation p:last-child{font-size:14px}.gallery-circle{flex-basis:56px;width:56px;height:56px;font-size:30px}.site-footer{margin-inline:24px;font-size:10px;line-height:1.6}.site-footer>span{max-width:180px}.site-footer a{flex-shrink:0}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.landing *,.landing :after,.landing :before{transition:none!important}.project-composition:hover .sheet-3{transform:rotate(-3deg)}}.site-footer{font-family:Arial,Helvetica,sans-serif}.site-footer nav{display:flex;flex-wrap:wrap;align-items:center;gap:24px}.site-footer a{color:inherit;text-decoration:none}.information-page a:focus-visible,.site-footer a:focus-visible{outline:3px solid #8d699f;outline-offset:5px}.information-page{font-family:Arial,Helvetica,sans-serif;min-height:calc(100svh - 90px)}.information-page .site-nav a{color:inherit;text-decoration:none}.information-main{max-width:1040px;margin:auto;padding:68px 48px 84px}.information-title{margin-bottom:42px;padding-bottom:32px;border-bottom:1px solid var(--line)}.information-title .eyebrow{color:#786184;margin-bottom:24px}.information-title h1{font:400 clamp(48px,6.5vw,82px)/1.05 Georgia,serif;letter-spacing:-.055em;margin:0}.information-lead{max-width:560px;color:#665a6b;font-size:18px;line-height:1.7;margin:0 0 34px}.contact-card{border:1px solid #b8a8c3;border-top:3px solid #786184;padding:32px;background:#ede6f1;margin-bottom:28px}.contact-card .eyebrow{margin-bottom:24px;color:#665a6b}.contact-email{color:var(--ink);font:400 clamp(21px,3.2vw,38px)/1.4 Georgia,serif;letter-spacing:-.025em;text-decoration-thickness:1px;text-underline-offset:7px;overflow-wrap:anywhere}.contact-email:hover{color:#786184}.contact-location{margin:24px 0 0;color:#665a6b;font-size:14px}.contact-note{font-size:15px;line-height:1.75;color:#665a6b;margin:10px 0 0}.contact-note a,.policy-content a{color:var(--ink);text-underline-offset:3px}.policy-content{max-width:740px;font-size:16px;line-height:1.8;color:#514658}.policy-date{color:#786184;font-size:13px;margin-top:0}.policy-content section{margin-top:34px}.policy-content h2{font:400 29px/1.2 Georgia,serif;letter-spacing:-.02em;color:var(--ink);margin:0 0 14px}.policy-content p{margin:0 0 16px}.policy-email{overflow-wrap:anywhere}@media(max-width:640px){.information-main{padding:42px 24px 56px}.information-title{margin-bottom:28px;padding-bottom:25px}.information-title .eyebrow{line-height:1.7;max-width:270px}.information-lead{font-size:16px;margin-bottom:26px}.contact-card{padding:24px 20px}.contact-email{font-size:clamp(19px,5vw,27px)}.policy-content{font-size:15px}.policy-content h2{font-size:26px}.site-footer{flex-direction:column;gap:16px}.site-footer>span{max-width:none}.site-footer nav{gap:24px}}