:root{--ink:#162522;--paper:#eee4cf;--red:#9b1d1b;--gold:#bf9748;--jade:#1d4940;--muted:#645d51}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background-color:var(--paper);background-image:radial-gradient(rgba(72,55,30,.11) .55px,transparent .55px),radial-gradient(rgba(72,55,30,.08) .5px,transparent .5px);background-size:6px 6px,11px 11px;color:#211e19;font:16px/1.55 "DM Sans",sans-serif}a{color:inherit;text-decoration:none}.site-header{height:84px;background:var(--ink);border-bottom:3px solid var(--red);display:flex;align-items:center;justify-content:space-between;padding:0 clamp(1.25rem,5vw,4rem);color:#f4e8d0}.brand{display:flex;align-items:baseline;gap:.45rem}.brand strong{font:600 clamp(1.35rem,2.2vw,1.8rem)/1 "Playfair Display",serif}.brand span,.eyebrow{font:500 .62rem/1.3 "DM Mono",monospace;letter-spacing:.16em}.brand span{color:#cfb980}.brand i,.seal,.art-seal,.form-seal{display:grid;place-items:center;background:var(--red);color:#f2dbac;font:600 1.15rem/1 "Noto Serif SC",serif;font-style:normal;box-shadow:inset 0 0 0 1px #d36b55;transform:rotate(-4deg)}.brand i{width:1.55rem;height:1.55rem}nav{display:flex;gap:2rem;font:500 .7rem "DM Mono",monospace;text-transform:uppercase;letter-spacing:.08em}nav a{position:relative}nav a:after{content:"";position:absolute;left:0;bottom:-.48rem;width:100%;height:1px;background:#d4ad5b;transform:scaleX(0);transform-origin:left;transition:transform .2s}nav a:hover:after,nav a.active:after{transform:scaleX(1)}.hero{min-height:calc(100vh - 84px);display:grid;grid-template-columns:1fr 1fr;border-bottom:11px solid var(--red)}.hero-copy{position:relative;padding:clamp(4rem,10vw,9rem) clamp(1.5rem,8vw,8rem);background:linear-gradient(135deg,#faf1dd,#e8d8b5);overflow:hidden}.hero-copy:before{content:"";position:absolute;inset:1.7rem;border:1px solid rgba(155,29,27,.42);border-right:0}.hero-copy:after{content:"";position:absolute;right:-10rem;bottom:-11rem;width:25rem;aspect-ratio:1;border:1px solid rgba(155,29,27,.35);border-radius:50%;box-shadow:0 0 0 1.3rem rgba(155,29,27,.07),0 0 0 2.7rem rgba(155,29,27,.04)}.hero-copy>*{position:relative;z-index:1}.seal{position:absolute;right:3.5rem;top:3.5rem;width:3.2rem;height:3.2rem;font-size:2rem}.hero h1{margin:.8rem 0 1.5rem;font:600 clamp(4rem,8.2vw,8rem)/.87 "Playfair Display",serif;letter-spacing:-.07em;max-width:6ch}.hero h1 em{color:var(--red)}.hero-copy>p:not(.eyebrow){max-width:31rem;color:#494235}.actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:2rem}.button{display:inline-flex;justify-content:center;align-items:center;min-height:48px;padding:.75rem 1.1rem;border:1px solid var(--red);color:#791617;font:500 .68rem "DM Mono",monospace;text-transform:uppercase;letter-spacing:.1em}.button.solid{background:var(--red);color:#f8e9cb;box-shadow:4px 4px 0 var(--gold)}.button.solid:hover{background:#721211}.hero-art{position:relative;overflow:hidden;background:linear-gradient(135deg,#11312e,#1d4d42 56%,#12322e);min-height:30rem}.hero-art:before{content:"";position:absolute;inset:1.5rem;border:1px solid rgba(232,206,142,.65);border-left:0}.lattice{position:absolute;top:0;right:0;width:45%;height:45%;background:linear-gradient(45deg,transparent 44%,rgba(223,185,95,.6) 45% 55%,transparent 56%) 0 0/40px 40px,linear-gradient(-45deg,transparent 44%,rgba(223,185,95,.6) 45% 55%,transparent 56%) 0 0/40px 40px;mask-image:linear-gradient(#000,transparent)}.art-seal{position:absolute;z-index:3;left:9%;top:10%;width:3.5rem;height:3.5rem;font-size:2rem}.sun{position:absolute;top:16%;left:38%;width:11rem;aspect-ratio:1;border-radius:50%;background:#c7973d;border:1px solid #f0d48b;box-shadow:0 0 0 1.3rem rgba(197,150,55,.14)}.bamboo{position:absolute;z-index:2;bottom:2rem;width:.65rem;height:80%;background:#d4bd78;transform:rotate(20deg);border-radius:3rem}.bamboo:before,.bamboo:after{content:"";position:absolute;width:2.7rem;height:.65rem;background:inherit;border-radius:3rem}.bamboo:before{top:31%;left:-2rem;transform:rotate(-34deg)}.bamboo:after{top:55%;left:.1rem;transform:rotate(34deg)}.bamboo.one{left:58%}.bamboo.two{left:74%;height:62%;background:#a7c47f;transform:rotate(30deg)}.scroll{position:absolute;bottom:0;left:9%;width:74%;height:3rem;background:linear-gradient(#d9bd80,#98713e 12%,#d9bd80 60%,#73582e);box-shadow:0 -6px 14px rgba(5,17,15,.4)}.section{padding:clamp(4rem,8vw,7rem) clamp(1.25rem,5vw,4rem)}.featured{background:#eee3cc}.heading{display:grid;grid-template-columns:1.2fr .9fr;align-items:end;gap:2rem;padding-bottom:1.4rem;border-bottom:2px solid var(--red);max-width:1250px;margin:auto}.heading h2,.about h2{margin:.5rem 0 0;color:#183730;font:600 clamp(2.5rem,5.3vw,5rem)/.9 "Playfair Display",serif;letter-spacing:-.065em}.heading>p:last-child{margin:0;color:#695f4f}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.55rem;max-width:1250px;margin:2rem auto}.featured-grid{grid-template-columns:repeat(2,minmax(0,270px));margin-left:max(0px,calc((100% - 1250px)/2));}.card{position:relative;padding:.7rem;border:1px solid #b79d68;background:#f9f0de;box-shadow:7px 7px 0 rgba(155,29,27,.18);transition:transform .2s,box-shadow .2s}.card:hover{transform:translate(-3px,-3px);box-shadow:11px 11px 0 rgba(155,29,27,.25)}.card:before{content:"艺";position:absolute;z-index:2;top:.35rem;right:.35rem;width:1.35rem;height:1.35rem;display:grid;place-items:center;background:var(--red);color:#f0d9a8;font:600 .8rem "Noto Serif SC",serif}.card img{width:100%;aspect-ratio:1/1;object-fit:cover;border:1px solid #a98545;display:block}.card .caption{padding:.8rem .15rem .15rem}.meta{display:flex;justify-content:space-between;color:#786e5d;font:500 .58rem "DM Mono",monospace;letter-spacing:.12em;text-transform:uppercase}.card h3{margin:.35rem 0 .15rem;font:500 1.45rem/1 "Playfair Display",serif}.card small{color:#766a58}.text-link{display:inline-block;color:#791617;border-bottom:1px solid var(--red);font:500 .7rem "DM Mono",monospace;letter-spacing:.09em;text-transform:uppercase;margin-top:.5rem}.about{display:grid;grid-template-columns:1fr 1.2fr;gap:clamp(2rem,7vw,7rem);padding:clamp(5rem,10vw,9rem) clamp(1.25rem,9vw,9rem);background:#d9c69e;border-block:1px solid #99742e}.about-mark{min-height:22rem;display:grid;place-items:center;background:#173b35;border:10px solid var(--red);box-shadow:inset 0 0 0 1px #e3bd62}.about-mark b{color:#e8c16b;font:600 6rem "Noto Serif SC",serif}.about h2{color:var(--red);max-width:8ch}.about p:not(.eyebrow){max-width:40rem;color:#433d32}.gallery-hero{position:relative;overflow:hidden;padding:clamp(5rem,10vw,8rem) clamp(1.25rem,10vw,10rem);background:#173b35;color:#f5e8ca;border-bottom:8px solid var(--red)}.gallery-hero:before{content:"";position:absolute;inset:1.5rem;border:1px solid rgba(236,203,128,.75)}.gallery-hero:after{content:"";position:absolute;width:40rem;height:40rem;right:-10rem;top:-18rem;border-radius:50%;border:1px solid rgba(236,203,128,.5);box-shadow:0 0 0 2rem rgba(236,203,128,.06),0 0 0 4rem rgba(236,203,128,.04)}.gallery-hero>*{position:relative;z-index:1}.gallery-hero .seal{top:3rem}.gallery-hero h1{margin:.6rem 0;font:600 clamp(3rem,6vw,6.4rem)/.95 "Playfair Display",serif;letter-spacing:-.06em}.gallery-hero p:last-child{max-width:39rem;color:#e3ca91}.gallery-section{min-height:55vh}.filters{max-width:1250px;margin:auto;padding:1rem;border:1px solid #b89e68;background:#ded0b1;display:flex;flex-wrap:wrap;gap:.55rem}.filters button{border:1px solid var(--red);background:#f8ecd5;color:#791617;padding:.55rem .7rem;font:500 .65rem "DM Mono",monospace;text-transform:uppercase;letter-spacing:.07em}.filters button.selected,.filters button:hover{background:var(--red);color:#fff1d6}.commission{padding:clamp(4rem,8vw,8rem) clamp(1.25rem,8vw,8rem);display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(2rem,7vw,7rem);background-color:#e6dac1;background-image:linear-gradient(90deg,transparent 49.6%,rgba(139,23,24,.15) 50%,transparent 50.4%),linear-gradient(0deg,transparent 49.6%,rgba(139,23,24,.1) 50%,transparent 50.4%);background-size:64px 64px}.commission-copy{position:relative}.commission-copy .seal{top:0;right:0}.commission h1{margin:.6rem 0 1.1rem;color:var(--red);font:600 clamp(3.2rem,6vw,6rem)/.9 "Playfair Display",serif;letter-spacing:-.07em}.commission-copy>p{max-width:31rem}.commission aside{margin-top:2.5rem;padding:1.2rem;border-left:4px solid var(--red);background:rgba(249,240,220,.55)}.commission-form{position:relative;padding:clamp(1.3rem,4vw,3rem);border:8px solid #173b35;outline:1px solid #c19b4d;outline-offset:-13px;background:#f9efd9;box-shadow:10px 10px 0 rgba(140,23,24,.2)}.form-seal{position:absolute;right:1.4rem;top:1.3rem;width:2.4rem;height:2.4rem}.commission-form h2{max-width:16ch;margin:0 0 1.7rem;color:#183b35;font:500 2rem/1.05 "Playfair Display",serif}.commission-form label{display:block;margin:1rem 0;color:#7f1618;font-weight:500}.commission-form input,.commission-form textarea,.commission-form select{display:block;width:100%;margin-top:.38rem;padding:.7rem 0;border:0;border-bottom:1px solid #9e8050;background:rgba(247,236,210,.65);color:#211e19;font:inherit}.commission-form textarea{padding:.7rem;resize:vertical}.commission-form .two{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.upload{border:1px dashed #a01e1a;padding:.8rem}.upload small{display:block;color:#716756;font-weight:400}.commission-form button{margin-top:.7rem}.detail{padding:3.5rem clamp(1.25rem,5vw,4rem)}.back{color:#8c1718;font:500 .68rem "DM Mono",monospace;text-transform:uppercase;letter-spacing:.1em}.detail-card{display:grid;grid-template-columns:1.1fr .9fr;gap:3rem;max-width:1150px;margin:2.5rem auto 0;padding:1.15rem;background:#173b35;border:1px solid #b8954f;box-shadow:9px 9px 0 rgba(161,30,26,.2)}.detail-card img{width:100%;height:100%;min-height:30rem;object-fit:cover;border:7px solid #c79e51}.detail-copy{padding:2rem;background:#f7edd8}.detail-copy h1{margin:.6rem 0 1.5rem;color:var(--red);font:600 clamp(2.8rem,5vw,5rem)/.9 "Playfair Display",serif;letter-spacing:-.06em}.detail-copy dl{margin:2rem 0;border-top:1px solid #b69b62}.detail-copy dl div{display:flex;justify-content:space-between;gap:1rem;padding:.8rem 0;border-bottom:1px solid #c6b184}.detail-copy dt{color:#645b4c}.detail-copy dd{margin:0;text-align:right}footer{display:flex;justify-content:space-between;gap:2rem;padding:2rem clamp(1.25rem,5vw,4rem);background:#162522;color:#f3e4c9;border-top:5px solid var(--red);font-size:.75rem}footer strong{font:500 .62rem "DM Mono",monospace;letter-spacing:.1em}footer p{max-width:19rem;color:#d4bd86}footer div:nth-child(2){display:flex;gap:1.2rem;align-items:center}footer span{align-self:end;color:#d4bd86}@media(max-width:760px){.site-header{height:64px}.brand strong{font-size:1.3rem}.brand span{font-size:.45rem}nav{gap:.9rem;font-size:.55rem}.hero,.commission,.about,.detail-card{grid-template-columns:1fr}.hero-copy{padding:4rem 1.3rem}.hero-copy:before{inset:.8rem}.hero h1{font-size:4.5rem}.seal{top:1.25rem;right:1.3rem;width:2.4rem;height:2.4rem;font-size:1.4rem}.hero-art{min-height:50vh}.heading{grid-template-columns:1fr}.grid{grid-template-columns:1fr}.featured-grid{grid-template-columns:1fr;margin-left:0}.about{padding:4rem 1.25rem}.about-mark{min-height:16rem}.gallery-hero{padding:5rem 1.25rem 3rem}.gallery-hero .seal{top:1.3rem}.commission{padding:3.5rem 1.25rem}.commission-form{border-width:5px}.commission-form .two{grid-template-columns:1fr}.detail{padding:2rem 1.25rem}.detail-card{padding:.6rem;gap:.6rem}.detail-card img{min-height:22rem;border-width:4px}.detail-copy{padding:1.3rem}footer{flex-direction:column;gap:.5rem}footer span{align-self:auto}}
.portal-login{min-height:100vh;display:grid;place-items:center;background:#e8dcc0}.portal-login main{width:min(29rem,calc(100% - 2.5rem));padding:3rem;background:#f9efda;border:8px solid var(--ink);box-shadow:10px 10px 0 rgba(155,29,27,.22)}.portal-seal{display:grid;place-items:center;width:3rem;height:3rem;margin:0 0 1rem;background:var(--red);color:#efd9aa;font:600 1.8rem/1 "Noto Serif SC",serif;box-shadow:inset 0 0 0 1px #d36b55;transform:rotate(-4deg)}.portal-login h1,.portal-hero h1,.portal-heading h2{margin:.5rem 0 1rem;color:var(--red);font:600 clamp(2.4rem,5vw,4.5rem)/.9 "Playfair Display",serif;letter-spacing:-.06em}.portal-login label{display:block;margin:1.5rem 0;color:#7f1618;font-weight:500}.portal-login input{display:block;width:100%;margin-top:.4rem;padding:.8rem;border:0;border-bottom:1px solid #9e8050;background:#fff8e8;font:inherit}.portal-login .text-link{margin-top:1.5rem}.error{color:#9b1d1b}.portal{background:#ebe0c8}.portal-main{padding:clamp(2rem,6vw,5rem) clamp(1.25rem,6vw,6rem)}.portal-hero{position:relative;overflow:hidden;padding:3rem;background:#173b35;color:#f3e3c3;border:1px solid #b8954f;box-shadow:7px 7px 0 rgba(140,23,24,.2)}.portal-hero:after{content:"";position:absolute;right:-4rem;top:-7rem;width:18rem;height:18rem;opacity:.36;background:linear-gradient(45deg,transparent 44%,#e0bc6b 45% 55%,transparent 56%) 0 0/34px 34px,linear-gradient(-45deg,transparent 44%,#e0bc6b 45% 55%,transparent 56%) 0 0/34px 34px;mask-image:radial-gradient(circle,#000 10%,transparent 68%)}.portal-hero>*{position:relative;z-index:1}.portal-hero h1{color:#f3e3c3}.portal-hero>p:not(.eyebrow){max-width:42rem;color:#dcc89e}.portal-hero .portal-seal{position:absolute;right:2rem;top:2rem}.notice{margin:1.5rem 0;padding:1rem;background:#d3e1cc;border-left:4px solid #286449}.portal-section{margin-top:3.5rem}.portal-heading{display:flex;justify-content:space-between;align-items:end;gap:1rem;padding-bottom:1rem;border-bottom:2px solid var(--red)}.portal-heading h2{font-size:2.5rem;margin:0}.portal-form{margin-top:1.5rem;padding:1.5rem;background:#f8eed7;border:1px solid #b89d66;box-shadow:6px 6px 0 rgba(140,23,24,.13)}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.portal-form label{color:#7d1919;font-weight:500}.portal-form input,.portal-form textarea,.portal-form select{display:block;width:100%;margin-top:.35rem;padding:.65rem;border:1px solid #b89d66;background:#fff7e8;font:inherit}.portal-form small{display:block;color:#756a58;font-weight:400}.portal-form .full{grid-column:1/-1}.portal-form button{margin-top:1.25rem}.inventory,.requests{margin-top:1.5rem;background:#f8eed7;border:1px solid #b89d66;box-shadow:6px 6px 0 rgba(140,23,24,.13)}.inventory article{display:grid;grid-template-columns:4.5rem 1fr auto;gap:1rem;align-items:center;padding:1rem;border-bottom:1px solid #d2bf98}.inventory article:last-child,.requests article:last-child{border-bottom:0}.inventory img{width:4.5rem;height:4.5rem;object-fit:cover;border:1px solid #b8954f}.inventory h3,.requests h3{margin:.25rem 0;color:#173b35;font:500 1.3rem "Playfair Display",serif}.inventory p{margin:.2rem 0;color:#6e6251}.inventory-actions{display:flex;gap:.5rem}.button.danger{border-color:#8d1a1b;color:#8d1a1b;background:#fff4df}.requests article{display:grid;grid-template-columns:.8fr 1.4fr auto;gap:1.5rem;padding:1.2rem;border-bottom:1px solid #d2bf98}.requests p{margin:.3rem 0}.requests select{padding:.55rem;border:1px solid #a01e1a;background:#fff8e9;text-transform:capitalize}.empty{padding:1.5rem}@media(max-width:760px){.portal-main{padding:1.5rem 1rem}.portal-hero{padding:2rem 1.3rem}.portal-hero .portal-seal{right:1rem;top:1rem}.form-grid,.inventory article,.requests article{grid-template-columns:1fr}.inventory-actions{justify-content:flex-start}.portal-heading{align-items:start;flex-direction:column}.portal-form{padding:1rem}}
