:root{--bg:#f8f5f0;--surface:#fff;--ink:#3a3228;--ink-mid:#5a5248;--ink-soft:#8a7e72;--ink-faint:#a89e90;--hairline:#e2dcd4;--border:#d4cfc8;--cta-bg:transparent;--cta-fg:#5a5248;--cta-border:#5a5248;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-8:32px;--sp-10:40px;--sp-12:48px;--sp-16:64px;--sp-20:80px;--text-xs:11px;--text-sm:13px;--text-base:14px;--text-md:16px;--text-lg:18px;--text-xl:22px;--text-2xl:28px;--text-3xl:44px;--radius-sm:0;--radius:0;--radius-lg:0;--radius-pill:0;--ease:cubic-bezier(.25, .1, .25, 1);--duration:.25s;--font-display:"Fraunces", Georgia, "Times New Roman", serif;--font-body:"Spectral", Georgia, "Times New Roman", serif;--shadow-card:0 1px 4px #3a32280d;--shadow-hover:0 8px 24px -8px #3a32281a}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink-mid);font-family:var(--font-body);font-size:var(--text-base);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;line-height:1.65}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}img{max-width:100%;height:auto}.container{width:min(1120px, calc(100% - var(--sp-8)));margin:0 auto}.topbar{z-index:50;background:var(--bg);border-bottom:1px solid var(--hairline);position:sticky;top:0}.nav{max-width:1280px;padding:var(--sp-5) var(--sp-10);justify-content:space-between;align-items:center;margin:0 auto;display:flex}.brand{font-family:var(--font-display);font-weight:500;font-size:var(--text-lg);color:var(--ink);text-decoration:none}.nav-links{gap:var(--sp-6);font-family:var(--font-body);font-size:var(--text-sm);color:var(--ink-soft);display:flex}.nav-links a{color:inherit;transition:color var(--duration) var(--ease);text-decoration:none}.nav-links a:hover{color:var(--ink)}.button{color:var(--ink-mid);font-family:var(--font-body);font-size:var(--text-xs);letter-spacing:.12em;text-transform:uppercase;padding:var(--sp-4) var(--sp-6);border:1px solid var(--cta-border);cursor:pointer;text-align:center;transition:all var(--duration) var(--ease);background:0 0;text-decoration:none;display:inline-block}.button:hover{background:var(--ink);color:var(--bg);border-color:var(--ink)}.button:active{opacity:.85}.button:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.button.secondary{color:var(--ink-soft);border:1px solid var(--border);background:0 0}.button.secondary:hover{color:var(--ink-mid);border-color:var(--ink-soft)}.button:disabled{cursor:not-allowed;opacity:.45}.text-link{color:var(--ink);text-underline-offset:3px;font-weight:600;text-decoration:underline}.home-hero{background:var(--ink);width:100%;height:82vh;min-height:520px;position:relative;overflow:hidden}.home-hero__img{object-fit:cover;object-position:center 34%;filter:saturate(1.06)contrast(1.02);width:100%;height:100%;display:block}.home-hero:before{content:"";z-index:1;pointer-events:none;mix-blend-mode:multiply;background:#3a32281a;position:absolute;inset:0}.home-hero__overlay{z-index:2;text-align:center;padding:var(--sp-10);background:radial-gradient(68% 62%,#221c16b8 0%,#221c1666 48%,#221c1629 100%);flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.home-hero__overlay .eyebrow{color:#fbf8f3c7;text-shadow:0 1px 16px #14100ccc}.home-hero__overlay h1{color:#fbf8f3;text-shadow:0 1px 18px #14100cd9,0 1px 3px #14100cb3;max-width:620px}.home-hero__overlay .lead{color:#fbf8f3e0;text-shadow:0 1px 16px #14100ccc;max-width:460px;margin-inline:auto}.home-hero__overlay .action-row{margin-top:var(--sp-6);justify-content:center}.home-hero__overlay .button{color:#fbf8f3;background:0 0;border-color:#f8f5f08c}.home-hero__overlay .button:hover{color:var(--ink);background:#fbf8f3;border-color:#fbf8f3}.home-hero__overlay .button.secondary{color:#fbf8f3bf;border-color:#f8f5f04d}.eyebrow{color:var(--ink);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.1em;font-weight:600}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.01em;line-height:1.1}h1{font-size:var(--text-3xl);margin:var(--sp-3) 0 var(--sp-5);max-width:780px;font-weight:700}h2{font-size:var(--text-2xl);margin:0 0 var(--sp-5);font-weight:600}h3{font-size:var(--text-md);margin:0;font-weight:600;line-height:1.25}p{margin:var(--sp-2) 0;line-height:1.65}.lead{color:var(--ink-soft);font-size:var(--text-md);max-width:640px;line-height:1.7}.section{padding:var(--sp-12) 0}.section-head{justify-content:space-between;gap:var(--sp-6);margin-bottom:var(--sp-8);align-items:end;display:flex}.muted{color:var(--ink-soft)}.site-footer{background:var(--bg);border-top:1px solid var(--hairline);padding:var(--sp-16) var(--sp-10) 0;font-size:var(--text-sm);color:var(--ink-soft)}.footer-grid{gap:var(--sp-10);grid-template-columns:1.5fr 1fr 1fr 1fr;max-width:1280px;margin:0 auto;display:grid}.footer-brand__name{font-family:var(--font-display);font-weight:500;font-size:var(--text-lg);color:var(--ink);margin:0 0 var(--sp-3)}.footer-brand__tagline{font-size:var(--text-sm);color:var(--ink-faint);margin:0;line-height:1.55}.footer-col__heading{font-size:var(--text-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint);margin:0 0 var(--sp-4)}.footer-col nav{gap:var(--sp-3);flex-direction:column;display:flex}.site-footer a{color:var(--ink-soft);transition:color var(--duration) var(--ease);text-decoration:none}.site-footer a:hover{color:var(--ink)}.footer-bottom{max-width:1280px;margin:var(--sp-12) auto 0;padding:var(--sp-5) 0;border-top:1px solid var(--hairline);font-size:var(--text-xs);color:var(--ink-faint);letter-spacing:.02em}.legal-page h1{max-width:900px}.editorial-page h1{max-width:920px}.editorial-cta{margin-top:var(--sp-6)}.legal-stack{gap:var(--sp-5);max-width:860px;display:grid}.form-panel,.admin-panel{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius)}.gallery-featured{max-width:1280px;padding:var(--sp-12) var(--sp-10) var(--sp-8);margin:0 auto}.gallery-featured__grid{gap:var(--sp-12) var(--sp-10);grid-template-columns:1fr 1fr;display:grid}.gallery-strip{gap:var(--sp-6);max-width:1280px;padding:var(--sp-5) var(--sp-10);border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);margin:0 auto;display:flex;overflow-x:auto}.gallery-strip a{white-space:nowrap;color:inherit;padding-bottom:var(--sp-1);transition:color var(--duration) var(--ease);text-decoration:none}.gallery-strip a:hover{color:var(--ink)}.gallery-strip a.active{color:var(--ink);border-bottom:1px solid var(--ink)}.gallery-collection{max-width:1280px;padding:var(--sp-8) var(--sp-10) var(--sp-12);margin:0 auto}.gallery-collection__head{margin-bottom:var(--sp-8);justify-content:space-between;align-items:baseline;display:flex}.gallery-sort{gap:var(--sp-4);font-size:var(--text-xs);letter-spacing:.04em;color:var(--ink-faint);display:flex}.gallery-sort a{color:inherit;transition:color var(--duration) var(--ease);text-decoration:none}.gallery-sort a:hover{color:var(--ink-soft)}.gallery-sort a.active{color:var(--ink)}.gallery-grid{gap:var(--sp-12) var(--sp-8);grid-template-columns:repeat(3,1fr);display:grid}.card{color:inherit;background:var(--surface);box-shadow:var(--shadow-card);transition:transform var(--duration) var(--ease), box-shadow var(--duration) var(--ease);text-decoration:none;display:block}.card:hover{box-shadow:var(--shadow-hover);transform:translateY(-4px)}.card__art{background:var(--surface);overflow:hidden}.card__art img{aspect-ratio:4/5;object-fit:cover;width:100%;transition:transform .5s var(--ease);display:block}.card__art-placeholder{aspect-ratio:4/5;background:var(--surface);width:100%}.card:hover .card__art img{transform:scale(1.03)}.card__meta{padding:var(--sp-4) var(--sp-1) 0}.card__maker{font-size:var(--text-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint);margin:0 0 var(--sp-2)}.card__title{font-family:var(--font-display);font-weight:500;font-size:var(--text-lg);margin:0 0 var(--sp-1);color:var(--ink);letter-spacing:-.005em;line-height:1.2}.card--large .card__title{font-size:var(--text-xl)}.card__dims{font-size:var(--text-sm);color:var(--ink-soft);margin:0 0 var(--sp-2);font-style:italic}.card__price{font-size:var(--text-base);color:var(--ink);margin:0}.card__sold{font-size:var(--text-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint);margin:0}.product-gallery{gap:var(--sp-2);margin-top:var(--sp-3);grid-template-columns:repeat(4,1fr);display:grid}.product-gallery a{aspect-ratio:1;border:1px solid var(--hairline);border-radius:var(--radius-sm);display:block;overflow:hidden}.product-gallery img{object-fit:cover;width:100%;height:100%}.detail{grid-template-columns:64px 1fr 360px;gap:0;max-width:1280px;margin:0 auto;display:grid}.detail__thumbs{gap:var(--sp-3);padding:var(--sp-8) 0 var(--sp-8) var(--sp-8);flex-direction:column;display:flex}.detail__thumbs a{opacity:.55;transition:opacity var(--duration) var(--ease);display:block}.detail__thumbs a:first-child,.detail__thumbs a:hover{opacity:1}.detail__thumbs img{object-fit:cover;width:56px;height:70px;display:block}.detail__hero{padding:var(--sp-8)}.detail__hero-img{aspect-ratio:4/5;object-fit:cover;background:var(--surface);width:100%;display:block}.detail__info{padding:var(--sp-8);border-left:1px solid var(--hairline)}.detail__maker{font-size:var(--text-sm);letter-spacing:.04em;color:var(--ink);margin:0 0 var(--sp-3)}.detail__title{font-family:var(--font-display);margin:0 0 var(--sp-5);color:var(--ink);letter-spacing:-.01em;font-size:26px;font-weight:500;line-height:1.15}.detail__price{font-size:var(--text-lg);color:var(--ink);margin:0 0 var(--sp-6)}.detail__dims,.detail__medium{font-size:var(--text-sm);color:var(--ink-soft);margin:0 0 var(--sp-1)}.detail__info hr{border:none;border-top:1px solid var(--hairline);margin:var(--sp-6) 0}.detail__info .button{text-align:center;width:100%;margin-bottom:var(--sp-2);display:block}.detail__guarantee{font-size:var(--text-xs);color:var(--ink-faint);margin-top:var(--sp-4);letter-spacing:.02em}.detail__story{max-width:720px;padding:var(--sp-12) var(--sp-10);margin:0 auto}.detail__story h2{font-family:var(--font-display);font-weight:500;font-size:var(--text-xl);margin:0 0 var(--sp-4)}.detail__story p{font-size:var(--text-base);color:var(--ink-soft);margin:0 0 var(--sp-3);line-height:1.65}.detail__story hr{border:none;border-top:1px solid var(--hairline);margin:var(--sp-8) 0}.detail__more{max-width:1280px;padding:0 var(--sp-10) var(--sp-16);margin:0 auto}.detail__more h2{font-family:var(--font-display);font-weight:500;font-size:var(--text-xl);margin:0 0 var(--sp-6)}.detail__more-grid{gap:var(--sp-12) var(--sp-8);grid-template-columns:repeat(3,1fr);display:grid}@media (max-width:960px){.detail{grid-template-columns:1fr}.detail__thumbs{padding:var(--sp-4) var(--sp-6);border-bottom:1px solid var(--hairline);flex-direction:row;overflow-x:auto}.detail__hero{padding:var(--sp-6)}.detail__info{border-left:none;border-top:1px solid var(--hairline);padding:var(--sp-6)}.detail__more-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:600px){.detail__story{padding:var(--sp-8) var(--sp-5)}.detail__more{padding:0 var(--sp-5) var(--sp-12)}}.form-panel,.admin-panel{padding:var(--sp-6)}.form-grid{gap:var(--sp-4);display:grid}.compact-form{border-top:1px solid var(--hairline);margin-top:var(--sp-6);padding-top:var(--sp-6)}.notice{border:1px solid var(--hairline);background:var(--surface);border-radius:var(--radius);color:var(--ink);padding:var(--sp-3);font-size:var(--text-sm);line-height:1.5}.detail-list{gap:var(--sp-2);margin:var(--sp-3) 0;display:grid}.detail-list div{gap:var(--sp-3);grid-template-columns:minmax(120px,.35fr) 1fr;display:grid}.detail-list dt{color:var(--ink-soft)}.detail-list dd{overflow-wrap:anywhere;margin:0}.payment-instructions{margin-top:var(--sp-2);gap:4px;display:grid}.bag-layout{gap:var(--sp-6);grid-template-columns:minmax(0,1fr) 340px;align-items:start;display:grid}.bag-lines{gap:var(--sp-4);display:grid}.bag-line{gap:var(--sp-4);border-bottom:1px solid var(--hairline);padding-bottom:var(--sp-4);grid-template-columns:120px minmax(0,1fr) 120px 120px;align-items:start;display:grid}.bag-line:last-child{border-bottom:0;padding-bottom:0}.bag-line h2{font-size:var(--text-lg);margin-bottom:var(--sp-2)}.bag-line-art{aspect-ratio:1;border-radius:var(--radius);border:1px solid var(--hairline);background:var(--bg);overflow:hidden}.bag-line-art img{object-fit:cover;width:100%;height:100%}.quantity-form{gap:var(--sp-2);display:grid}.bag-line-total,.bag-summary{gap:var(--sp-3);display:grid}.check-row{align-items:center;gap:var(--sp-2);display:flex}.check-row input{width:auto}.message-stack{gap:var(--sp-3);display:grid}.message-entry{border:1px solid var(--hairline);border-radius:var(--radius);background:var(--surface);padding:var(--sp-4)}.message-entry.customer,.message-entry.admin{border-left:4px solid var(--ink)}.testimonial-card{border:1px solid var(--hairline);border-radius:var(--radius);background:var(--surface);padding:var(--sp-5);gap:var(--sp-3);display:grid}.testimonial-card p{font-family:var(--font-display);font-size:var(--text-lg);line-height:1.45}.testimonial-card span{color:var(--ink-soft);font-size:var(--text-sm)}label{color:var(--ink-soft);font-size:var(--text-sm);gap:6px;font-weight:500;display:grid}input,textarea,select{border:1px solid var(--hairline);background:var(--bg);border-radius:var(--radius);width:100%;padding:var(--sp-3) var(--sp-4);color:var(--ink);font-size:var(--text-base);font-family:var(--font-body);transition:border-color var(--duration) var(--ease)}input:focus,textarea:focus,select:focus{border-color:var(--ink);outline:none}input::placeholder,textarea::placeholder{color:#d0d0d0}textarea{resize:vertical;min-height:112px}.admin-layout{grid-template-columns:240px 1fr;min-width:0;min-height:calc(100vh - 64px);display:grid}.sidebar{border-right:1px solid var(--hairline);padding:var(--sp-6);min-width:0}.sidebar a{padding:var(--sp-2) var(--sp-3);border-radius:var(--radius-sm);font-size:var(--text-sm);color:var(--ink-soft);transition:color var(--duration) var(--ease), background var(--duration) var(--ease);display:block}.sidebar a:hover{color:var(--ink);background:#251d180a}.admin-main{padding:var(--sp-8);min-width:0;overflow-x:auto}.account-shell{max-width:720px}.account-grid{gap:var(--sp-6);grid-template-columns:minmax(0,1fr) 340px;align-items:start;display:grid}.account-summary{gap:var(--sp-4);display:grid}.action-row{gap:var(--sp-3);flex-wrap:wrap;display:flex}.proof-upload{gap:var(--sp-2);margin-top:var(--sp-3);min-width:220px;display:grid}.proof-upload form{gap:var(--sp-2);display:grid}.favorite-card{gap:var(--sp-3);display:grid}.proof-review{border-top:1px solid var(--hairline);gap:var(--sp-2);padding-top:var(--sp-3);display:grid}.proof-review form{gap:var(--sp-2);flex-wrap:wrap;display:flex}.admin-panel h2{font-size:var(--text-xl);margin-bottom:var(--sp-1)}.admin-panel p{margin:0}.table{border-collapse:collapse;background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius);width:100%;min-width:680px;font-size:var(--text-sm)}.table th,.table td{text-align:left;border-bottom:1px solid var(--hairline);padding:var(--sp-3)}.table th{color:var(--ink-soft);font-weight:600;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.04em}a:focus-visible{outline:2px solid var(--ink);outline-offset:2px;border-radius:2px}::selection{background:var(--surface);color:var(--ink)}@media (max-width:960px){.gallery-featured__grid{grid-template-columns:1fr}.gallery-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:760px){:root{--text-3xl:38px;--text-2xl:28px}.admin-layout,.account-grid,.bag-layout,.bag-line{grid-template-columns:1fr}.bag-line-art{max-width:180px}.home-hero{height:64vh;min-height:440px}.home-hero__overlay{padding:var(--sp-6)}.gallery-featured{padding:var(--sp-8) var(--sp-5)}.gallery-collection{padding:var(--sp-6) var(--sp-5) var(--sp-10)}.gallery-strip{padding:var(--sp-4) var(--sp-5)}.gallery-grid{gap:var(--sp-8) var(--sp-4);grid-template-columns:1fr}.nav{padding:var(--sp-4) var(--sp-5);align-items:flex-start;gap:var(--sp-3);flex-direction:column}.nav-links{gap:var(--sp-3);flex-wrap:wrap}.section-head{align-items:flex-start;gap:var(--sp-3);flex-direction:column}.footer-grid{gap:var(--sp-8);grid-template-columns:1fr 1fr}.sidebar{border-right:0;border-bottom:1px solid var(--hairline);width:100%}.admin-main{padding:var(--sp-6) var(--sp-4);width:100%}}@media (max-width:600px){:root{--text-3xl:32px}}.request-page{gap:var(--sp-12);max-width:1000px;padding:var(--sp-12) var(--sp-10);grid-template-columns:1fr 1fr;margin:0 auto;display:grid}.request-summary__img{aspect-ratio:4/5;object-fit:cover;background:var(--surface);width:100%;margin-bottom:var(--sp-4);display:block}.request-summary__maker{font-size:var(--text-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint);margin:0 0 var(--sp-2)}.request-summary__title{font-family:var(--font-display);font-weight:500;font-size:var(--text-xl);margin:0 0 var(--sp-4);color:var(--ink)}.request-summary__price{font-size:var(--text-lg);color:var(--ink);margin:0 0 var(--sp-4)}.request-summary__note{font-size:var(--text-xs);color:var(--ink-faint);margin-top:var(--sp-1);letter-spacing:.02em;display:block}.request-summary__detail{font-size:var(--text-sm);color:var(--ink-soft);margin:0 0 var(--sp-1)}.request-form__heading{font-family:var(--font-display);font-weight:500;font-size:var(--text-2xl);margin:0 0 var(--sp-2)}.request-form__intro{font-size:var(--text-base);color:var(--ink-soft);margin:0 0 var(--sp-8);line-height:1.65}.form-label{font-size:var(--text-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:var(--sp-5);display:block}.form-label input,.form-label textarea{width:100%;margin-top:var(--sp-2);font-family:var(--font-body);font-size:var(--text-base);padding:var(--sp-3) var(--sp-4);border:1px solid var(--hairline);background:var(--bg);color:var(--ink);transition:border-color var(--duration) var(--ease);display:block}.form-label input:focus,.form-label textarea:focus{border-color:var(--ink);outline:none}.form-optional{font-size:var(--text-xs);color:var(--ink-faint);text-transform:none;letter-spacing:normal;margin-left:var(--sp-2)}.request-form .button{width:100%;margin-top:var(--sp-4)}.request-trust{margin-top:var(--sp-8);padding-top:var(--sp-6);border-top:1px solid var(--hairline)}.request-trust__heading{font-family:var(--font-display);font-weight:500;font-size:var(--text-md);margin:0 0 var(--sp-3);color:var(--ink)}.request-trust ol{padding-left:var(--sp-5);margin:0 0 var(--sp-4)}.request-trust li{font-size:var(--text-sm);color:var(--ink-soft);margin-bottom:var(--sp-2);line-height:1.65}.request-trust__reassurance{font-size:var(--text-sm);color:var(--ink);margin:0;font-weight:500}.request-received{padding:var(--sp-16) var(--sp-10);justify-content:center;display:flex}.request-received__content{text-align:center;max-width:560px}.request-received__content h1{font-family:var(--font-display);font-weight:500;font-size:var(--text-2xl);margin:0 0 var(--sp-3)}.request-received__lead{font-size:var(--text-base);color:var(--ink-soft);margin:0 0 var(--sp-8);line-height:1.65}.request-received__steps{text-align:left;background:var(--surface);padding:var(--sp-6);margin-bottom:var(--sp-8)}.request-received__heading{font-family:var(--font-display);font-weight:500;font-size:var(--text-md);margin:0 0 var(--sp-3);color:var(--ink)}.request-received__steps ol{padding-left:var(--sp-5);margin:0 0 var(--sp-4)}.request-received__steps li{font-size:var(--text-sm);color:var(--ink-soft);margin-bottom:var(--sp-2);line-height:1.65}.request-received__reassurance{font-size:var(--text-sm);color:var(--ink);margin:0;font-weight:500}.request-received__ref{font-size:var(--text-xs);letter-spacing:.1em;color:var(--ink-faint);margin-bottom:var(--sp-6)}.request-received__actions{gap:var(--sp-3);justify-content:center;display:flex}@media (max-width:760px){.request-page{padding:var(--sp-8) var(--sp-5);gap:var(--sp-8);grid-template-columns:1fr}}
