:root{--ground:#f6f1e6;--surface:#fffdf9;--surface-2:#efe7d5;--ink:#2b241f;--ink-soft:#5c5247;--ink-faint:#8a7f70;--line:#dccfb4;--line-strong:#c3b295;--amber:#a86a1c;--amber-ink:#7a4d13;--amber-soft:#f1dcae;--sapphire:#2c4a7c;--ruby:#8c2f39;--emerald:#35634f;--danger:#a3352b;--danger-soft:#f6e2de;--focus:#2c4a7c;--radius:14px;--radius-sm:8px;--shadow:0 1px 2px rgba(43,36,32,.07),0 10px 28px -14px rgba(43,36,32,.28);--shadow-sm:0 1px 1px rgba(43,36,32,.06),0 3px 8px -4px rgba(43,36,32,.2);color-scheme:light}*{box-sizing:border-box}[hidden]{display:none!important}body{background:var(--ground);font-family:Work Sans,system-ui,-apple-system,sans-serif;font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased}.display,body,h1,h2,h3{margin:0;color:var(--ink)}.display,h1,h2,h3{font-family:Fraunces,Georgia,serif;font-weight:600;letter-spacing:-.01em;text-wrap:balance}.mono{font-family:JetBrains Mono,ui-monospace,monospace}a{color:inherit}button{font:inherit}img,svg{display:block;max-width:100%}.wrap{max-width:1180px;margin:0 auto;padding:0 24px}.eyebrow{font-family:JetBrains Mono,ui-monospace,monospace;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--amber-ink)}header{position:-webkit-sticky;position:sticky;top:0;z-index:30;background:color-mix(in srgb,var(--ground) 88%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}header .wrap{gap:24px;padding:14px 24px;flex-wrap:wrap}.brand,header .wrap{display:flex;align-items:center}.brand{gap:10px;margin-right:auto;border:none;background:none;padding:2px;margin-left:-2px;border-radius:8px;cursor:pointer;text-decoration:none}.brand:hover{opacity:.82}.brand:focus-visible{outline:2px solid var(--focus);outline-offset:3px}.brand-name{font-family:Fraunces,Georgia,serif;font-weight:600;font-size:19px}nav.mainnav{display:flex;gap:4px;background:var(--surface-2);padding:4px;border-radius:999px}nav.mainnav a{border:none;background:none;color:var(--ink-soft);padding:8px 16px;border-radius:999px;cursor:pointer;font-size:14px;font-weight:500;transition:background .15s,color .15s;text-decoration:none;display:inline-block}nav.mainnav a:hover{color:var(--ink)}nav.mainnav a[aria-current=page]{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-sm)}main{display:block}.view{padding:56px 0 88px}section.block{margin:0 0 72px}section.block:last-child{margin-bottom:0}.btn{display:inline-flex;align-items:center;gap:8px;border-radius:999px;padding:12px 22px;font-size:14.5px;font-weight:600;cursor:pointer;border:1px solid transparent;text-decoration:none;transition:transform .1s,box-shadow .15s,background .15s}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--amber);color:#221604;box-shadow:var(--shadow-sm)}.btn-primary:hover{background:var(--amber-ink)}.btn-ghost{background:transparent;border-color:var(--line-strong);color:var(--ink)}.btn-ghost:hover{background:var(--surface-2)}.btn:disabled{opacity:.6;cursor:not-allowed}.art-frame{position:relative;overflow:hidden;background:#14110f}.art-frame img{object-fit:cover}.art-frame img,.art-frame svg{width:100%;height:100%}.hero{display:grid;grid-template-columns:1.05fr 1fr;grid-gap:56px;gap:56px;align-items:center}.hero h1{font-size:clamp(34px,4.6vw,54px);line-height:1.05;margin:10px 0 20px}.hero .bio{color:var(--ink-soft);font-size:17px;max-width:46ch;margin-bottom:0}.hero-art .frame{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);border:1px solid var(--line);aspect-ratio:3/4;max-height:490px;margin:0 auto}.hero-art .frame img{width:100%;height:100%;object-fit:cover}.hero-cap{margin-top:10px;font-size:13px;color:var(--ink-faint);text-align:center}.section-head{margin-bottom:28px;max-width:64ch}.section-head h2{font-size:28px;margin-bottom:8px}.section-head p{color:var(--ink-soft);font-size:15.5px}.gallery{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:20px;gap:20px}.gtile{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm)}.gtile .frame{aspect-ratio:4/3}.gtile-body{padding:12px 14px 14px}.gtile-cap{font-size:13.5px;color:var(--ink-soft);margin:0}.quicknav{display:grid;grid-template-columns:1fr 1fr;grid-gap:20px;gap:20px}.qcard{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:28px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:10px}.qcard h3{font-size:21px}.qcard p{color:var(--ink-soft);font-size:14.5px;flex:1 1;margin:0}.qcard .btn{align-self:flex-start}.contact{display:grid;grid-template-columns:1fr 1fr;grid-gap:40px;gap:40px;align-items:start}.contact-list{list-style:none;margin:18px 0 0;padding:0;display:flex;flex-direction:column;gap:12px}.contact-list li{display:flex;gap:12px;align-items:baseline;font-size:15px}.contact-list .k{color:var(--ink-faint);font-size:12.5px;text-transform:uppercase;letter-spacing:.08em;width:74px;flex:none;font-family:JetBrains Mono,monospace}.socials{display:flex;gap:10px;margin-top:22px}.social-link{display:inline-flex;align-items:center;gap:8px;padding:9px 16px;border-radius:999px;background:var(--surface-2);border:1px solid var(--line);font-size:13.5px;font-weight:500;text-decoration:none}.social-link:hover{background:var(--surface)}.toolbar{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:28px;gap:20px;flex-wrap:wrap}.pgrid{column-count:3}.pcard{display:inline-block;width:100%;page-break-inside:avoid;break-inside:avoid;margin-bottom:22px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm)}.pgrid{display:grid;grid-template-columns:repeat(3,1fr);grid-column-gap:22px;column-gap:22px;grid-row-gap:22px;row-gap:22px;align-items:start}.pcard .frame img{width:100%;height:auto;object-fit:fill}.pcard .frame.ph-frame{aspect-ratio:4/3}.pcard-body{padding:16px 18px 18px;display:flex;flex-direction:column;gap:6px}.pcard-top{display:flex;justify-content:space-between;gap:10px;align-items:baseline}.pcard h3{font-size:18px}.pcard .code-row{display:flex;align-items:baseline;gap:6px}.pcard .code-label{font-family:JetBrains Mono,monospace;font-size:10px;text-transform:uppercase;letter-spacing:.07em;color:var(--ink-faint)}.pcard .code{font-size:11.5px;color:var(--ink-faint)}.pcard .price{font-size:14px;font-weight:600;color:var(--amber-ink)}.pcard .desc{font-size:13.5px;color:var(--ink-soft);margin:0}.order-intro{max-width:900px;margin:0 auto}.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));grid-gap:24px 20px;gap:24px 20px;margin:0 0 56px}.step{padding:14px 14px 0 0;border-top:2px solid var(--line-strong)}.step .num{width:26px;height:26px;border-radius:50%;background:var(--surface-2);border:1px solid var(--line-strong);display:flex;align-items:center;justify-content:center;font-family:JetBrains Mono,monospace;font-size:12px;margin-bottom:10px}.step h4{font-family:Fraunces,serif;font-size:14.5px;font-weight:600;margin:0 0 4px}.step p{font-size:12.5px;color:var(--ink-soft);margin:0}.order-layout{display:grid;grid-template-columns:minmax(0,640px);justify-content:center;grid-gap:0;gap:0}fieldset{border:none;padding:0;margin:0 0 36px}fieldset legend{font-family:Fraunces,serif;font-size:19px;font-weight:600;margin-bottom:4px;padding:0}.fieldset-note{font-size:13.5px;color:var(--ink-soft)}.field,.fieldset-note{margin-bottom:18px}.field label{display:block;font-size:13.5px;font-weight:600;margin-bottom:6px}.field .req{color:var(--danger);font-weight:700}.field .help{font-size:12.5px;color:var(--ink-faint);margin-top:5px;margin-bottom:0}.field input[type=email],.field input[type=tel],.field input[type=text],.field select,.field textarea{width:100%;padding:11px 13px;border-radius:var(--radius-sm);border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);font:inherit;font-size:14.5px}.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--focus);outline-offset:1px}.field textarea{min-height:96px;resize:vertical}.grid-2{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px}.dim-row{display:flex;align-items:center;gap:10px}.dim-row input{flex:1 1;min-width:0}.dim-x{color:var(--ink-faint);font-size:14px;flex:none}.measure-diagram{margin-top:14px;border:1px solid var(--line);border-radius:var(--radius-sm);padding:10px;background:var(--surface)}.measure-diagram img,.measure-diagram svg{width:100%;height:auto;display:block;border-radius:3px}.colour-tool{border:1px dashed var(--line-strong);border-radius:var(--radius);padding:22px;display:flex;gap:18px;align-items:center;background:var(--surface-2)}.swatch-mock{display:grid;grid-template-columns:repeat(4,16px);grid-template-rows:repeat(3,16px);grid-gap:3px;gap:3px;flex:none}.swatch-mock i{border-radius:3px;display:block}.colour-tool .txt strong{display:block;font-size:14.5px;margin-bottom:4px}.colour-tool .txt p{font-size:13px;color:var(--ink-soft);margin:0}.error-summary{background:var(--danger-soft);color:var(--danger);border-radius:var(--radius-sm);padding:14px 16px;margin-bottom:22px;font-size:14px;scroll-margin-top:92px}.error-summary ul{margin:6px 0 0;padding-left:18px}.confirm{text-align:center;padding:60px 20px;scroll-margin-top:92px}.confirm .mark{font-size:38px;margin-bottom:18px}.confirm h2{font-size:27px;margin-bottom:12px}.confirm p{color:var(--ink-soft);max-width:48ch;margin:0 auto 28px}footer{border-top:1px solid var(--line);padding:34px 0;color:var(--ink-faint);font-size:13px}footer .wrap{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px}@media (max-width:860px){.hero{grid-template-columns:1fr;gap:34px}.hero-art{order:-1}.gallery{grid-template-columns:1fr 1fr}.contact,.quicknav{grid-template-columns:1fr}.pgrid{column-count:2;grid-template-columns:repeat(2,1fr)}.grid-2{grid-template-columns:1fr}}@media (max-width:560px){.gallery,.pgrid{grid-template-columns:1fr}.pgrid{column-count:1}header .wrap{gap:12px}nav.mainnav{order:3;width:100%;justify-content:space-between}}