@font-face{font-family:Cormorant;src:url('assets/cormorant-medium.ttf') format('truetype');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'DM Sans';src:url('assets/dm-sans.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
:root{--ink:#202b29;--teal:#12655f;--teal-dark:#0b4945;--paper:#f5f2ec;--white:#fff;--muted:#56615c;--line:#d9dcd6;--display:Cormorant,Georgia,serif;--body:'DM Sans',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:1.5rem}body{margin:0;color:var(--ink);background:var(--white);font-family:var(--body);font-size:1rem;line-height:1.6;-webkit-font-smoothing:antialiased}body.dialog-open{overflow:hidden}[hidden]{display:none!important}a{color:inherit;text-decoration:none;text-underline-offset:5px}button,select{font:inherit;color:inherit}button{cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--teal);outline-offset:4px}button:disabled{opacity:.4;cursor:not-allowed}img{max-width:100%;display:block}svg{width:22px;height:22px;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex:none}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:var(--display);font-weight:500;line-height:1.08;text-wrap:balance}h2{font-size:2.75rem;letter-spacing:-.02em}h3{font-size:2.15rem}button{border:0;background:none}.skip-link{position:fixed;left:1rem;top:-100px;padding:12px 18px;background:var(--white);z-index:10}.skip-link:focus{top:1rem}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.announcement{background:var(--teal-dark);color:var(--white);padding:10px 20px;text-align:center;font-size:.8125rem;letter-spacing:.01em}.announcement strong{font-weight:400;margin-right:8px}
.site-header{min-height:116px;max-width:1440px;margin:auto;padding:10px 5.55%;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px}.brand{width:82px;display:block}.brand img{width:82px;height:96px;object-fit:contain}nav{display:flex;gap:38px;align-items:center;min-width:0;flex-wrap:wrap}nav a{font-size:.9375rem;padding:12px 0}nav a:hover{text-decoration:underline;color:var(--teal)}.bag-trigger{justify-self:end;display:flex;align-items:center;gap:10px;font-size:.9375rem;min-height:44px;padding:8px 0 8px 8px}.bag-count{display:grid;place-items:center;min-width:25px;min-height:25px;padding:0 5px;border:1px solid var(--line);font-size:.8125rem;border-radius:50%}
.hero{display:grid;grid-template-columns:46% 54%;min-height:400px;max-width:1600px;margin:auto;background:var(--paper)}.hero-copy{padding:44px 8% 46px 12%;align-self:center;min-width:0;overflow-wrap:anywhere}h1{font-size:clamp(3.15rem,4.6vw,5.1rem);letter-spacing:-.025em}h1 em{font-style:italic;color:var(--teal);font-weight:500}.hero-copy p{margin-top:22px;color:var(--muted);font-size:1.0625rem;line-height:1.75}.button{display:inline-flex;align-items:center;justify-content:center;text-align:center;padding:15px 22px;background:var(--teal);color:var(--white);margin-top:26px;font-size:.9375rem;min-height:54px;transition:background .2s;border:0}.button:hover{background:var(--teal-dark)}.hero-art{position:relative;min-width:0;overflow:hidden;background:#e9dfcf}.hero-art img{width:100%;height:100%;object-fit:cover;object-position:75% center;min-height:400px;max-height:470px}.hero-art figcaption{position:absolute;right:24px;bottom:22px;color:var(--ink);background:rgba(255,255,255,.9);padding:8px 14px;font-family:var(--display);font-size:1.5rem;line-height:1.3;max-width:calc(100% - 36px);overflow-wrap:anywhere}.hero-art figcaption span{display:block;font-family:var(--body);font-size:.75rem;line-height:1.5;margin-top:4px;color:var(--muted)}
.section-wrap{max-width:1440px;margin:auto;padding:60px 5.55% 64px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}.status{font-size:.875rem;color:var(--teal);padding:6px 12px;border:1px solid #b5c9c3;border-radius:2px}.collection-intro{margin-top:16px;color:var(--muted);font-size:.9375rem;max-width:64ch}.collection-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;margin:30px 0 26px;border-bottom:1px solid var(--line);padding-bottom:17px}.filters{display:flex;gap:8px;flex-wrap:wrap}.filters button{font-size:.9375rem;min-height:44px;padding:9px 18px;border:1px solid transparent}.filters button:first-child{margin-left:-1px}.filters button[aria-pressed=true]{background:var(--teal);color:var(--white)}.filters button:hover:not([aria-pressed=true]){border-color:var(--line);background:var(--paper)}.result-count{font-size:.875rem;color:var(--muted)}.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}.product-card{min-width:0}.product-open{display:block;width:100%;padding:0;text-align:left}.product-image{display:block;position:relative;aspect-ratio:1;overflow:hidden;background:var(--paper)}.product-image img{width:100%;height:100%;object-fit:cover;transition:transform .45s cubic-bezier(.2,.8,.2,1)}.product-image .pendant-image,.bag-line .pendant-image{object-position:100% 50%}.product-open:hover .product-image img{transform:scale(1.025)}.sample-badge{position:absolute;top:14px;left:14px;padding:5px 10px;background:var(--white);font-size:.75rem;line-height:1.5}.view-piece{position:absolute;bottom:14px;right:14px;background:rgba(255,255,255,.94);padding:9px 14px;font-size:.875rem}.product-category{display:block;font-size:.8125rem;color:var(--muted);margin-top:18px}.product-name{display:block;font-family:var(--display);font-size:1.95rem;line-height:1.15;margin:5px 0 9px;overflow-wrap:anywhere}.card-price{font-size:1rem}.card-price>span{color:var(--muted);font-size:.8125rem;margin-left:7px}.collection-note{display:flex;align-items:center;gap:36px;border-top:1px solid var(--line);padding-top:28px;margin-top:40px}.collection-note>span{font-family:var(--display);font-size:1.7rem;line-height:1.15;flex:1}.collection-note p{font-size:.875rem;color:var(--muted);max-width:66ch;flex:2}
.contact{max-width:1600px;margin:auto;background:#e9f0ec;display:flex;align-items:center;justify-content:space-between;gap:32px;padding:42px max(5.55%,calc((100% - 1120px)/2))}.contact h2{font-size:2.4rem}.contact p{margin-top:10px;color:var(--muted)}.contact-link{border-bottom:1px solid var(--teal);padding:10px 0;color:var(--teal);font-size:1.0625rem;max-width:100%;min-width:0;overflow-wrap:anywhere}.contact-link:hover{color:var(--teal-dark)}footer{max-width:1440px;margin:auto;padding:34px 5.55%;display:flex;align-items:center;justify-content:space-between;gap:24px;font-size:.8125rem;color:var(--muted)}.footer-brand{font-family:var(--display);font-size:1.75rem;color:var(--ink);line-height:1.1}.footer-brand span{display:block;font-family:var(--body);font-size:.75rem;letter-spacing:.22em;margin-top:6px}footer a{padding:12px 0;font-size:.875rem}footer a:hover{text-decoration:underline}
/* Dialogs use native focus containment, Escape behavior, and inert background. */
dialog{color:var(--ink);border:0;padding:0;background:var(--white);max-height:calc(100dvh - 48px);overscroll-behavior:contain}dialog::backdrop{background:rgba(20,33,30,.48)}.icon-button{display:grid;place-items:center;background:var(--white);width:44px;height:44px;flex:none}.icon-button:hover{background:var(--paper)}.product-dialog{width:min(1040px,calc(100% - 64px));max-width:none;overflow:auto}.product-close{position:absolute;right:12px;top:12px;z-index:2}.product-detail{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.detail-image{background:var(--paper);display:flex;flex-direction:column;justify-content:center;min-width:0}.detail-image img{width:100%;height:auto;max-height:620px;object-fit:contain}.detail-image figcaption{padding:14px 20px;font-size:.75rem;line-height:1.6;color:var(--muted)}.detail-content{padding:56px 38px 32px;min-width:0;overflow-wrap:anywhere}.detail-content h2{font-size:2.6rem}.detail-price{margin-top:18px;font-size:1.0625rem}.sample-disclosure{color:var(--teal-dark);background:#e9f0ec;padding:13px 15px;margin-top:24px;font-size:.875rem}.product-description{margin-top:22px;color:var(--muted);font-size:.9375rem;line-height:1.7}.option-field{margin-top:24px}.option-field label,.quantity-field label{display:block;font-size:.875rem;margin-bottom:8px}select{border:1px solid #a9b6af;background:var(--white);border-radius:0;min-height:46px;padding:10px 38px 10px 12px;max-width:100%;font-size:1rem}.option-field select{width:100%}.option-field p{font-size:.75rem;color:var(--muted);margin-top:7px}.quantity-field{margin-top:20px}.quantity-field select{min-width:86px}.add-button{width:100%;margin-top:23px}.purchase-note{font-size:.8125rem;color:var(--muted);margin-top:12px}.product-notes{border-top:1px solid var(--line);margin-top:24px;padding-top:12px}.product-notes summary{cursor:pointer;font-size:.875rem;padding:7px 0}.product-notes p{color:var(--muted);font-size:.8125rem;margin-top:8px}.form-error{color:#9b342b;font-size:.875rem;margin-top:14px}
.bag-dialog{width:540px;max-width:100%;height:100dvh;max-height:100dvh;margin:0 0 0 auto;padding:28px 30px;overflow-y:auto}.bag-header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.bag-header h2{font-size:2.2rem;padding-top:6px}.bag-disclosure{font-size:.8125rem;color:var(--muted);border-bottom:1px solid var(--line);padding:12px 0 20px}.bag-empty{padding:64px 10px;text-align:center}.bag-empty>svg{width:48px;height:48px;color:var(--teal);margin:0 auto 26px;stroke-width:1.3}.bag-empty h3{font-size:2.2rem}.bag-empty p{color:var(--muted);font-size:.9375rem;margin-top:18px}.bag-line{display:grid;grid-template-columns:88px minmax(0,1fr) auto;gap:16px;padding:24px 0;border-bottom:1px solid var(--line);align-items:start}.bag-line>img{width:88px;height:112px;object-fit:cover;background:var(--paper)}.bag-line-info{min-width:0}.bag-line h3{font-size:1.45rem;line-height:1.2;overflow-wrap:anywhere}.bag-line p{font-size:.75rem;color:var(--muted);margin-top:6px}.bag-line .line-unit-price{font-size:.8125rem;margin-top:6px}.line-total{font-size:.875rem;font-weight:400;padding-top:3px}.line-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:12px}.quantity-control{display:flex;align-items:center;border:1px solid var(--line)}.quantity-control button{width:44px;min-height:44px;font-size:1.125rem}.quantity-control output{font-size:.875rem;min-width:26px;text-align:center}.text-button{text-decoration:underline;text-underline-offset:5px;padding:10px 0;font-size:.875rem;color:var(--teal)}.text-button:hover{color:var(--teal-dark)}.remove-button{font-size:.875rem;min-height:44px}.bag-summary{padding-top:26px}.total-row{display:flex;align-items:baseline;justify-content:space-between;gap:16px;font-size:1rem}.total-row strong{font-weight:400;font-size:1.25rem}.bag-summary>p{font-size:.8125rem;color:var(--muted);margin-top:12px}.bag-summary .button,.checkout-preview>.button{width:100%;margin-top:24px}.continue-button{display:block;margin:10px auto 0}.bag-message{font-size:.8125rem;color:var(--teal);margin-top:18px}.bag-message:empty{display:none}.checkout-preview{padding-top:18px}.checkout-preview h3{font-size:2.2rem;margin-top:25px}.checkout-preview>p{margin-top:16px;color:var(--muted);font-size:.9375rem}.checkout-lines{margin:28px 0 20px;border-top:1px solid var(--line)}.checkout-line{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:17px 0;border-bottom:1px solid var(--line);font-size:.875rem}.checkout-line small{display:block;font-size:.75rem;color:var(--muted);margin-top:5px}.checkout-boundary{display:flex;gap:14px;background:var(--paper);padding:20px;margin-top:28px;font-size:.875rem}.checkout-boundary strong{font-weight:400}.checkout-boundary p{margin-top:8px;color:var(--muted);font-size:.8125rem;line-height:1.7}
@media(min-width:1600px){.hero-copy{padding-left:100px}.contact{padding-left:100px;padding-right:100px}}
@media(max-width:1000px){.product-grid{gap:22px}.product-name{font-size:1.7rem}.hero-copy{padding:40px 9%}.product-dialog{width:calc(100% - 40px)}.detail-content{padding:58px 26px 28px}.detail-content h2{font-size:2.25rem}.hero-art img{max-height:none}}
@media(max-width:760px){.site-header{grid-template-columns:auto 1fr auto;padding:10px 24px;column-gap:16px}nav{gap:16px;justify-content:center}.hero{grid-template-columns:1fr 1fr;min-height:0}h1{font-size:3.3rem}.hero-copy p{font-size:1rem}.hero-art img{min-height:400px}.section-wrap{padding:42px 24px}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.collection-note{gap:20px}.contact{padding:34px 24px;align-items:flex-start;flex-direction:column;gap:16px}.product-detail{grid-template-columns:1fr}.detail-image img{max-height:340px}.detail-content{padding:28px}.product-close{position:sticky;margin-left:auto;margin-bottom:-44px;top:12px;right:12px;transform:translateX(-12px)}.detail-image figcaption{text-align:center}.bag-dialog{padding:25px}.contact h2{font-size:2.25rem}footer{padding:30px 24px;flex-wrap:wrap}}
@media(max-width:560px){.announcement{font-size:.75rem;padding:9px 18px}.announcement strong{display:block;margin:0}.site-header{min-height:102px;grid-template-columns:auto 1fr auto;gap:8px 18px;padding:12px 20px}.brand,.brand img{width:65px}.brand img{height:76px}.site-header nav{gap:0;display:flex;align-items:flex-start;flex-direction:column;justify-content:center}.site-header nav a{font-size:.8125rem;padding:7px 0}.bag-trigger{gap:7px}.bag-trigger>span:not(.bag-count){display:none}.hero{grid-template-columns:minmax(0,1fr)}.hero-copy{padding:35px 25px 38px}h1{font-size:3.65rem;line-height:1.02}.hero-copy p{margin-top:18px}.hero-copy .button{margin-top:22px}.hero-art{height:280px}.hero-art img{height:280px;min-height:0;object-position:100% center}.hero-art figcaption{right:18px;bottom:18px;font-size:1.25rem}.section-heading{gap:15px}.section-heading h2{font-size:2.35rem}.status{font-size:.8125rem}.collection-intro{font-size:.875rem;margin-top:18px}.collection-toolbar{margin-top:23px;gap:12px;padding-bottom:16px}.filters{gap:4px}.filters button{padding:8px 12px;font-size:.875rem}.product-grid{grid-template-columns:minmax(0,1fr);gap:32px}.product-image{aspect-ratio:1.1}.product-name{font-size:1.95rem}.product-category{margin-top:15px}.collection-note{flex-direction:column;align-items:flex-start;gap:12px;margin-top:32px;padding-top:24px}.collection-note p{font-size:.875rem}.contact p,.contact-link{font-size:.9375rem}footer>span:nth-child(2){order:3;flex-basis:100%;padding-top:18px;border-top:1px solid var(--line)}.footer-brand{font-size:1.65rem}.product-dialog{width:calc(100% - 24px);max-height:calc(100dvh - 24px)}.detail-content{padding:24px}.detail-image img{max-height:290px}.detail-image figcaption{font-size:.75rem;padding:12px}.bag-dialog{padding:22px 20px}.bag-header h2{font-size:2rem}.bag-line{grid-template-columns:76px minmax(0,1fr);gap:14px}.bag-line>img{width:76px;height:100px}.line-total{grid-column:2;margin-top:-10px}.line-actions{gap:8px 14px}.bag-empty{padding:46px 0}.bag-empty h3{font-size:2rem}.checkout-boundary{padding:16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
