:root{--paper:#f8f5ed;--ink:#32372a;--olive:#4c5c3f;--line:#dce0cd}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,sans-serif}button,a,input,select{touch-action:manipulation}button{cursor:pointer;font:inherit}button:disabled{cursor:default;opacity:.45}header{padding:24px 5%;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}header>span{font-size:10px;letter-spacing:1.5px}.brand{font:38px Georgia;letter-spacing:-2px;color:var(--ink);text-decoration:none}.brand small{display:block;font:8px Arial;letter-spacing:2px;margin-top:5px}main{max-width:1450px;margin:auto;padding:0 5%}.hero{padding:44px 0;position:relative}.eyebrow{font-size:10px;letter-spacing:2px;color:var(--olive);font-weight:bold}h1{font:normal clamp(46px,6vw,75px)/1.04 Georgia;margin:16px 0;letter-spacing:-2px}.hero>p:not(.eyebrow){font-size:14px;color:#707662;line-height:1.7}.stamp{position:absolute;top:65px;right:8%;border:1px solid #a9b092;border-radius:50%;height:160px;width:160px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;font:14px Georgia;transform:rotate(7deg)}.stamp b{font-size:35px}nav{display:flex;gap:8px;border-bottom:1px solid var(--line);padding-bottom:16px;flex-wrap:wrap}nav button{padding:13px 18px;border:1px solid var(--line);background:transparent;border-radius:24px;color:var(--olive);font-size:13px}nav .active{background:var(--olive);color:white}.layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:30px;padding:32px 0 60px}h2{font:26px Georgia;margin:8px 0 12px}#intro p{font-size:13px;line-height:1.6;color:#707662}.filters{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:24px 0}label{display:block;font-size:11px;color:#596147}select,input{display:block;width:100%;border:1px solid #cdd2bf;padding:11px 8px;background:#fff;border-radius:6px;color:var(--ink);margin-top:7px;font:13px Arial}.random-row{display:flex;align-items:end;gap:12px}.random-row label{min-width:130px}.primary{border:0;background:var(--olive);color:white;border-radius:6px;padding:13px 17px;font-weight:bold;font-size:12px}#random-tools>p{font-size:12px;line-height:1.6;color:#6c735f}#notice{font-size:12px;color:#795a23;min-height:15px}#grid,#proposal{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.card{border:1px solid #e1dfd2;border-radius:10px;padding:10px;position:relative;background:radial-gradient(circle at 95% 5%,#acbe9b30,transparent 45%),#f6f8ef;overflow:hidden}.card:nth-child(3n+1){background:radial-gradient(circle at 95% 5%,#d9b3a027,transparent 45%),#fcf3ee}.card:nth-child(3n+2){background:radial-gradient(circle at 95% 5%,#d4bd7f29,transparent 45%),#faf8ef}.card:before{content:'❄';position:absolute;left:6px;top:7px;color:#a2ad862b;font-size:24px;pointer-events:none}.image-button{display:block;width:100%;padding:0;border:0;background:none}.card img{display:block;width:100%;height:145px;object-fit:contain;padding:8px;filter:drop-shadow(1px 2px 1px #81602e14)}.code{font-size:10px;font-weight:bold;letter-spacing:.7px}.card-title{font-size:11px;line-height:1.5;margin:7px 0;color:#667052}.card-actions{display:flex;gap:5px;flex-wrap:wrap;margin-top:8px}.card-actions button{border:1px solid #d3d8c5;background:#ffffffb5;color:var(--olive);border-radius:4px;padding:7px;font-size:11px}.card .add{background:var(--olive);color:white;flex:1}.card .locked{background:#dce7ca}.badge{font-size:9px;border-radius:10px;padding:4px 7px;display:inline-block;background:#ffffffb5;color:#677052}.locked-card{border-color:#768c59!important}#add-proposal{margin:20px 0}.package{padding:20px;background:#fffaf0;border:1px solid var(--line);border-radius:12px;margin-bottom:20px}.package h3{font:23px Georgia;margin:9px 0}.package p{font-size:12px;color:#6e7463;line-height:1.6}.package-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:5px;margin:18px 0}.package-grid img{width:100%;height:65px;object-fit:contain}.package-bottom{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:13px}aside{position:sticky;top:20px;align-self:start;background:linear-gradient(135deg,#edf0e3,#f5f2e7);border:1px solid var(--line);border-radius:12px;padding:22px}aside h2{display:flex;justify-content:space-between;gap:8px;align-items:center}#count{font:12px Arial;color:#6e765e}.empty{font-size:12px;color:#747b67;line-height:1.7;padding:15px 0}.cartline{padding:12px 0;border-bottom:1px solid var(--line)}.cart-heading{display:flex;gap:8px;align-items:center}.cart-heading img{width:40px;height:42px;object-fit:contain}.cart-heading strong{font-size:11px}.cart-heading small{display:block;font-size:10px;color:#707762;margin-top:3px}.qty-controls{display:flex;gap:10px;align-items:center;margin:8px 0;font-size:12px}.qty-controls button,.remove{padding:5px 8px;border:1px solid #ccd3bb;border-radius:4px;background:#ffffffa6;font-size:11px;color:var(--olive)}.name-field{margin-top:8px}.name-field input{padding:8px}.cartline .remove{margin-left:auto}.total{display:flex;justify-content:space-between;font-size:15px;padding:20px 0 8px}#rates{font-size:10px;line-height:1.6;color:#71775f}details{font-size:11px;padding:13px 0;border-bottom:1px solid var(--line)}details p{line-height:1.6}table{width:100%;border-collapse:collapse;font-size:10px;margin-top:12px}th,td{text-align:left;padding:6px 2px;border-bottom:1px solid var(--line)}.size-note{font-size:11px;line-height:1.7;padding:13px 0;color:#626c52}#order{width:100%;margin-top:12px}.note{font-size:10px;line-height:1.7;color:#737a65}.text-button{display:block;margin:15px auto 0;border:0;background:none;color:#677052;text-decoration:underline;font-size:11px}footer{border-top:1px solid var(--line);padding:25px 5%;display:flex;justify-content:space-between;font-size:11px;color:#747b67}.mobilebar{display:none}dialog{border:1px solid var(--line);border-radius:12px;max-width:90vw;width:520px;background:var(--paper);padding:25px;text-align:center}dialog::backdrop{background:#26302188}dialog img{width:100%;height:65vh;object-fit:contain}#close-zoom{position:absolute;right:10px;top:10px;background:white;border:0;border-radius:50%;font-size:25px;width:34px;height:34px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #b89a5b;outline-offset:3px}[hidden]{display:none!important}@media(max-width:1050px){.layout{grid-template-columns:minmax(0,1fr) 290px;gap:20px}#grid,#proposal{grid-template-columns:repeat(2,minmax(0,1fr))}.filters{grid-template-columns:1fr 1fr}.filters label:last-child{grid-column:1/-1}}@media(max-width:700px){header{padding:20px 5%}header>span{font-size:8px}.brand{font-size:32px}.hero{padding:30px 0}.stamp{width:105px;height:105px;right:0;top:55px;font-size:11px}.stamp b{font-size:25px}h1{font-size:47px}.hero>p:not(.eyebrow){font-size:12px;max-width:74%}.eyebrow{font-size:8px}nav{gap:6px}nav button{font-size:11px;padding:11px 12px}.layout{display:block;padding-top:25px}.card img{height:140px}.card-title{min-height:32px}.filters{gap:8px}aside{position:static;margin-top:30px}.package-grid{grid-template-columns:repeat(3,1fr)}.package-grid img{height:90px}.random-row{align-items:end}.random-row .primary{padding:14px 10px}.mobilebar{position:fixed;bottom:0;left:0;right:0;padding:17px 5%;background:var(--olive);color:white;display:flex;justify-content:space-between;font-size:12px;z-index:5}.mobilebar a{color:white}footer{margin-bottom:52px;font-size:9px;gap:10px}}

html{scroll-behavior:smooth;scroll-padding-top:24px}.hero{display:grid;grid-template-columns:1fr 1.05fr;align-items:center;gap:50px;padding:38px 0 42px}.hero-copy>p:not(.eyebrow){color:#717861;line-height:1.8;font-size:14px}.hero-cta{display:inline-block;margin-top:18px;color:var(--olive);text-underline-offset:6px;font-size:13px}.hero-tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:28px}.hero-tags span{padding:7px 9px;border:1px solid var(--line);border-radius:16px;font-size:10px;color:#687451}.real-gallery{min-width:0;border:1px solid #dedbcd;background:#fffaf1;border-radius:15px;padding:14px;box-shadow:0 9px 30px #6251320b}.gallery-label{display:flex;justify-content:space-between;font-size:9px;letter-spacing:1.3px;padding:3px 3px 12px;color:#6f785f}.gallery-main{width:100%;display:block;border:0;padding:0;cursor:zoom-in;background:#e7e1d5;border-radius:9px;overflow:hidden}.gallery-main img{width:100%;height:330px;object-fit:cover;object-position:center 43%;display:block}.gallery-caption{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:14px 2px 10px}.gallery-caption h2{font:21px Georgia;margin:0}.gallery-caption p{font-size:10px;color:#7c806f;margin:7px 0 0}.gallery-arrows{display:flex;gap:7px}.gallery-arrows button{width:32px;height:32px;border:1px solid #d6d9c9;background:#fffdf6;border-radius:50%;color:var(--olive)}#gallery-thumbs{display:flex;gap:7px;overflow-x:auto;padding:3px 2px 2px}#gallery-thumbs button{flex:0 0 49px;width:49px;height:49px;border:2px solid transparent;border-radius:6px;padding:2px;background:transparent}#gallery-thumbs button[aria-pressed="true"]{border-color:var(--olive)}#gallery-thumbs img{display:block;width:100%;height:100%;object-fit:cover;border-radius:3px}@media(max-width:1000px){.hero{gap:25px}.gallery-main img{height:300px}}@media(max-width:700px){.hero{grid-template-columns:1fr;gap:25px;padding:28px 0}.hero-copy>p:not(.eyebrow){font-size:13px}.hero-tags{margin-top:22px}.hero h1{font-size:49px}.real-gallery{padding:12px}.gallery-main img{height:300px}.gallery-caption h2{font-size:20px}#gallery-thumbs button{flex-basis:42px;width:42px;height:42px}nav{scroll-margin-top:15px}}

.search-label{margin-top:22px}.search-label input{max-width:100%}.filters{margin-top:14px}

/* Rustine: permanent brand, seasonal collection. */
:root{--paper:#f5efe5;--ink:#342c25;--olive:#62634d;--line:#dcd1bf;--wood:#8a6547;--malva:#805079;--soft:#faf7f0}body{background-color:var(--paper);background-image:repeating-linear-gradient(96deg,transparent 0,transparent 94px,#9b784603 95px,#9b784603 97px);color:var(--ink)}header{max-width:1600px;margin:auto;padding-top:25px;padding-bottom:25px;background:transparent}.brand{letter-spacing:normal;display:inline-block}.brand img{display:block;width:178px;height:auto}.brand small{font-size:8px;letter-spacing:2.4px;color:#776956;margin-top:9px}.header-links{display:flex;align-items:center;gap:25px}.header-links>a{font-size:11px;text-decoration:none;color:#65574b}.header-links>a:hover{text-decoration:underline;text-underline-offset:5px}.season-pill{font-size:9px;letter-spacing:1.3px;border:1px solid #beb89e;padding:10px 14px;border-radius:2px;color:#62634d}main{max-width:1450px}.hero{padding:50px 0 45px;gap:60px;grid-template-columns:1fr 1fr}.hero-copy{padding:10px 0}.eyebrow{color:var(--malva);letter-spacing:2px;font-size:10px}.season-label{font:italic 17px Georgia!important;color:#89715b!important;margin:35px 0 12px!important}h1,.hero h1{font:normal clamp(52px,5.9vw,82px)/1.01 Georgia,serif;letter-spacing:-3px;margin:15px 0 24px}h1 em{font-weight:normal;color:var(--wood)}.hero-copy>p:not(.eyebrow):not(.season-label){color:#756655;font-size:14px;line-height:1.85;max-width:365px}.hero-cta{color:#fffaf0;background:var(--olive);padding:16px 23px;text-decoration:none;border-radius:3px;margin-top:15px;font-size:12px;transition:background .2s}.hero-cta:hover{background:#4c4d39}.hero-tags{margin-top:25px;gap:10px}.hero-tags span{border:0;border-radius:0;padding:0 10px 0 0;border-right:1px solid var(--line);font-size:10px;color:#756655}.hero-tags span:last-child{border:0}.real-gallery{background:#fffaf2;border:1px solid #d9cbb8;border-radius:3px;padding:13px;box-shadow:10px 12px 0 #e6dccb}.gallery-label{color:#7a6857;font-size:9px}.gallery-main{border-radius:1px;background:#e4d6c1}.gallery-main img{height:365px}.gallery-caption h2{color:#564435;font-size:22px}.gallery-caption p{color:#786a59}.gallery-arrows button{border-color:#d6c6af;color:var(--wood);background:#faf5ea}#gallery-thumbs button[aria-pressed="true"]{border-color:var(--malva)}.craft-strip{display:flex;justify-content:center;align-items:center;gap:32px;border-top:1px solid var(--line);padding:23px 0 28px;font:italic 15px Georgia;color:#7c6751}.craft-strip i{font-style:normal;color:#a3937d;font-size:16px}nav{padding-top:15px;gap:10px;scroll-margin-top:20px}nav button{border-radius:3px;color:#655a48;border-color:#cec4b1;padding:15px 20px;background:#faf7ef;font-size:12px}nav .active{background:var(--olive);color:#fff}.layout{padding-top:34px}h2{color:#49392c}#intro p,#random-tools>p{color:#786b59}label{color:#685b4b}select,input{border-color:#d2c5b1;background:#fffcf6;border-radius:3px;color:var(--ink)}.primary,.card .add{background:var(--olive);border-radius:3px}.primary:hover,.card .add:hover{background:#4e503c}.card{border-color:#dfd1bd;border-radius:4px;padding:12px;background:#faf6ed!important;box-shadow:0 2px 5px #6a412404}.card:nth-child(3n+1){background:#f8f0e4!important}.card:nth-child(3n+2){background:#f2f1e7!important}.card:before{color:#b59c7422;left:auto;right:8px;font-size:19px}.card img{height:165px;filter:drop-shadow(1px 2px 1px #6c412614)}.code{color:#775b43}.card-title{color:#625543}.badge{background:#ece4d6;color:#665444;border-radius:2px;font-size:9px}.card-actions button{border-color:#d8cab5;border-radius:3px;color:#625741}.card .add{color:white}.card .locked{background:#e4e5d8}.locked-card{border-color:#75765b!important}.package{background:#faf6ed;border-radius:4px;border-color:#d6c7b1}.package h3{color:#594331}.package p{color:#756653}aside{border-color:#d8c8b1;background:linear-gradient(140deg,#eee5d7,#f7f2e8);border-radius:4px;padding:24px;box-shadow:4px 5px 0 #e8ddcb}.size-note{color:#695c48;background:#fcf8ef;border-left:2px solid #a88b68;padding:11px 12px;margin:12px 0 18px}.note,#rates,#count,.cart-heading small,.empty{color:#756a58}.qty-controls button,.remove{border-color:#cfc0a8;color:#665540}.text-button{color:#73506d}#notice{color:#73506d}dialog{background:#faf6ed;border-radius:5px}dialog::backdrop{background:#2e251f9c}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline-color:var(--malva)}.brand-story{border-top:1px solid var(--line);display:grid;grid-template-columns:150px 1fr 180px;gap:50px;align-items:center;padding:44px 0 55px;scroll-margin-top:30px}.story-mark{align-self:stretch;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:18px;border-right:1px solid var(--line)}.story-mark img{width:80px;height:auto}.story-mark span{font-size:8px;letter-spacing:1.5px;color:#8a785f}.brand-story h2{font:34px/1.2 Georgia;margin:12px 0 18px}.brand-story p:not(.eyebrow){font-size:13px;line-height:1.85;color:#786954;max-width:580px}.story-link{font-size:12px;color:var(--malva);line-height:1.7;text-underline-offset:5px}footer{background:#393a2e;border-color:#393a2e;color:#eee5d4;padding:35px 5%;align-items:center}footer img{width:125px;height:auto}footer p{font:italic 14px Georgia;color:#d3c7b3;margin:13px 0 0}.footer-info{display:flex;flex-direction:column;gap:12px;text-align:right;font-size:11px}.footer-info a{color:#f3e8d5;text-underline-offset:4px}.footer-info small{color:#c8bda8;font-size:9px}.mobilebar{background:#555740}.mobilebar a{color:#fffaf1}@media(max-width:1050px){.hero{gap:35px}.gallery-main img{height:340px}.header-links{gap:16px}.brand-story{grid-template-columns:110px 1fr;gap:30px}.story-link{grid-column:2}.card img{height:155px}}@media(max-width:700px){header{padding:22px 5%}.brand img{width:145px}.brand small{font-size:6px;letter-spacing:1.9px}.header-links{gap:0}.header-links>a{display:none}.season-pill{font-size:7px;letter-spacing:.7px;padding:9px}.hero{grid-template-columns:1fr;gap:28px;padding:30px 0}.hero-copy{padding:0}.hero h1{font-size:59px;letter-spacing:-2px;line-height:1.01;margin-top:12px}.season-label{margin-top:24px!important;font-size:15px!important}.hero-copy>p:not(.eyebrow):not(.season-label){font-size:13px;max-width:330px}.hero-tags{gap:5px}.hero-tags span{font-size:9px;padding-right:7px}.gallery-main img{height:310px}.real-gallery{box-shadow:5px 6px 0 #e6dccb}.craft-strip{gap:10px;flex-wrap:wrap;padding:23px 0 17px;font-size:12px}.craft-strip span:last-child,.craft-strip i:last-of-type{display:none}nav{gap:5px}nav button{flex:1;font-size:10px;padding:13px 7px;white-space:nowrap}.layout{padding-top:23px;padding-bottom:35px}.card{padding:9px}.card img{height:140px}.brand-story{grid-template-columns:1fr;gap:15px;padding:28px 0 35px}.story-mark{border:0;align-items:flex-start;flex-direction:row;justify-content:flex-start;align-items:center;gap:15px}.story-mark img{width:44px}.brand-story h2{font-size:30px}.story-link{grid-column:auto}.footer-info{font-size:9px;gap:10px}footer{padding:28px 5%;gap:15px}footer img{width:108px}footer p{font-size:12px;max-width:150px;line-height:1.5}footer .footer-info small{max-width:150px;line-height:1.5}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Fine paper grain and a faint woven fiber pattern, kept behind all content. */
body{background-image:url('assets/brand/paper-grain.svg'),repeating-linear-gradient(0deg,transparent 0px,transparent 3px,rgba(123,94,58,.014) 3px,rgba(123,94,58,.014) 4px),repeating-linear-gradient(90deg,transparent 0px,transparent 5px,rgba(123,94,58,.012) 5px,rgba(123,94,58,.012) 6px);background-size:240px 240px,auto,auto;background-repeat:repeat}

.example-note{font-size:10px;line-height:1.5;color:#74516d;margin:9px 0 4px}.base-example{font-size:10px;margin:6px 0 10px;text-align:left}

/* Keep the full finished work visible, including portrait and wide photos. */
.gallery-main img{object-fit:contain;object-position:center;background:#eee5d7}

.filters{grid-template-columns:repeat(2,minmax(0,1fr))}.filters label:last-child{grid-column:auto}.quote-note{font-size:10px;color:#795672;line-height:1.6}@media(max-width:420px){.filters{grid-template-columns:1fr 1fr}}

/* Larger line-art preview trial for the patterns collection. */
.package-readable .package-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.package-readable .image-button{background:#fff;border:1px solid #e4ddd2;border-radius:6px;overflow:hidden}
.package-readable .package-grid img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain}
@media(max-width:700px){.package-readable .package-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}}

/* Consistent readable catalog previews. */
.card .image-button{background:#fff;border:1px solid #e4ddd2;border-radius:6px;overflow:hidden}
.card img{height:auto;aspect-ratio:1;padding:0;filter:none}

/* The catalog and order summary scroll independently. */
#resumen{position:sticky;top:16px;height:calc(100dvh - 32px);max-height:900px;display:flex;flex-direction:column;padding:0;overflow:hidden;min-height:0}
.order-heading{flex:none;padding:18px 20px 10px;border-bottom:1px solid #d8c8b1;position:relative}
.order-heading .eyebrow{margin:0 0 8px}.order-heading h2{margin:0 0 4px}
.order-scroll{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:0 20px;scrollbar-gutter:stable}
.order-checkout{flex:none;padding:10px 20px 12px;border-top:1px solid #d8c8b1;background:#f7f2e8}
.order-checkout .total{padding:0;font-size:16px}.order-checkout #rates{margin:5px 0 8px;font-size:10px}.order-checkout input{padding:9px;margin-top:4px}.order-checkout #order{margin-top:8px}.order-checkout .note{font-size:9px;margin:6px 0;line-height:1.4}.order-checkout #clear{margin:7px auto 0;padding:3px}
#close-order,#order-backdrop{display:none}.mobilebar #open-order{border:0;background:none;color:white;font-weight:bold;font-size:12px;padding:0}
@media(max-width:700px){#resumen{display:none;position:fixed;inset:auto 0 0;top:auto;height:92dvh;max-height:none;width:100%;margin:0;z-index:31;border-radius:14px 14px 0 0;box-shadow:0 -8px 35px #30251940}#resumen.order-open{display:flex}#close-order{display:block;position:absolute;right:14px;top:12px;border:0;background:transparent;font-size:28px;color:#594331;padding:4px 10px}.order-heading h2{padding-right:35px}#order-backdrop:not([hidden]){display:block;position:fixed;inset:0;background:#241b1766;border:0;z-index:30}body.order-panel-open{overflow:hidden}.order-scroll{padding:0 18px}.order-checkout{padding:10px 18px max(12px,env(safe-area-inset-bottom))}}
