@font-face{font-family:"Young Serif";src:url(/fonts/young-serif-latin-400-normal.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Instrument Sans";src:url(/fonts/instrument-sans-latin-wght-normal.woff2) format("woff2");font-weight:400 700;font-display:swap}
:root{
  --white:#fff;--indigo:#1D2B5A;--indigo-deep:#141E44;--ink:#1A2347;--muted:#566089;
  --madder:#A3322B;--saffron:#D9A441;--selvedge:#EEF1F8;--line:#D3D9EA;
  --r-box:16px;--r-btn:10px;--wrap:1480px;--head:61px
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--white);color:var(--ink);font:400 1.0625rem/1.55 "Instrument Sans",system-ui,-apple-system,"Segoe UI",sans-serif}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
h1,h2,h3{font-family:"Young Serif",Georgia,"Times New Roman",serif;font-weight:400;line-height:1.1;margin:0;letter-spacing:-.01em;text-wrap:balance;color:var(--indigo)}
p{margin:0;text-wrap:pretty}
ul{margin:0;padding:0;list-style:none}
button,select,input{font:inherit;color:inherit}
:focus-visible{outline:3px solid var(--saffron);outline-offset:2px}
.wrap{width:min(100% - 32px,var(--wrap));margin-inline:auto}
@media(min-width:1024px){.wrap{width:min(100% - 80px,var(--wrap))}}
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* guard stripe: the one ornament, taken from a rug's sawtooth border */
.guard{height:10px;background:var(--indigo) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='10'%3E%3Cpath d='M0 10 5 0l5 10z' fill='%23A3322B'/%3E%3Cpath d='M10 10 15 0l5 10z' fill='%23D9A441'/%3E%3C/svg%3E") repeat-x 0 0/20px 10px}

/* header */
.site-head{position:sticky;top:0;z-index:30;background:var(--white);border-bottom:1px solid var(--line)}
.head-row{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;min-height:60px;gap:10px}
.brand{font:400 1.4rem/1 "Young Serif",Georgia,serif;text-decoration:none;color:var(--indigo);white-space:nowrap}
.head-nav{display:none;gap:26px;font-weight:600}
.head-nav a,.head-right a{text-decoration:none}
.head-nav a:hover,.head-right a:hover{color:var(--madder)}
.head-right{justify-self:end;font-weight:700;white-space:nowrap}
.head-right .long{display:none}
.menu-btn{justify-self:start;display:inline-flex;align-items:center;gap:8px;background:none;border:0;padding:10px 0;font-weight:700;cursor:pointer}
.menu-btn i{display:block;width:22px;height:2px;background:var(--indigo);box-shadow:0 6px 0 var(--indigo),0 -6px 0 var(--indigo)}
@media(min-width:900px){.head-nav{display:flex}.menu-btn{display:none}.brand{font-size:1.75rem}.head-right .long{display:inline}.head-right .short{display:none}.head-row{min-height:72px}:root{--head:73px}}

/* drawers and sheets */
.scrim{position:fixed;inset:0;background:rgba(20,30,68,.45);z-index:40;opacity:0;pointer-events:none;transition:opacity .2s}
.scrim.on{opacity:1;pointer-events:auto}
.drawer{position:fixed;top:0;bottom:0;left:0;width:min(86vw,360px);background:var(--white);z-index:50;transform:translateX(-102%);transition:transform .22s ease;overflow-y:auto;padding:18px 18px 28px;display:flex;flex-direction:column;gap:6px}
.drawer.on{transform:none}
.drawer h2{font-size:1.5rem;margin:4px 0 10px}
.drawer a.nav{display:block;padding:13px 4px;border-bottom:1px solid var(--line);text-decoration:none;font-weight:600;font-size:1.1rem}
.x{align-self:flex-end;background:none;border:0;font-size:1rem;font-weight:700;padding:8px 2px;cursor:pointer;text-decoration:underline}
.sheet{position:fixed;left:0;right:0;bottom:0;z-index:50;background:var(--white);border-radius:20px 20px 0 0;padding:20px 18px 26px;transform:translateY(105%);transition:transform .22s ease;max-width:560px;margin-inline:auto;text-align:center}
.sheet.on{transform:none}
.sheet h2{font-size:1.5rem;margin-bottom:6px}
.sheet p{color:var(--muted);margin-bottom:14px}
.sheet .btn{margin-top:10px}
@media(min-width:700px){.sheet{bottom:auto;top:50%;border-radius:20px;transform:translateY(-40%) scale(.96);opacity:0;pointer-events:none;transition:opacity .2s,transform .2s}.sheet.on{transform:translateY(-50%);opacity:1;pointer-events:auto}}
@media(prefers-reduced-motion:reduce){.drawer,.sheet,.scrim{transition:none}}

/* buttons */
.btn{display:flex;align-items:center;justify-content:center;width:100%;min-height:54px;padding:12px 22px;border-radius:var(--r-btn);border:2px solid var(--indigo);background:var(--indigo);color:#fff;font-weight:700;font-size:1.0625rem;text-decoration:none;cursor:pointer;text-align:center;line-height:1.2}
.btn:hover{background:var(--indigo-deep);border-color:var(--indigo-deep)}
.btn.alt{background:var(--white);color:var(--indigo)}
.btn.alt:hover{background:var(--selvedge)}
.btn.inline{display:inline-flex;width:auto}
.btn[disabled]{opacity:.5;cursor:not-allowed}
.link{font-weight:700;text-underline-offset:4px}
.link:hover{color:var(--madder)}

/* sections */
.sec{padding:30px 0}
.sec-head{text-align:center;margin-bottom:16px}
.sec-head h2{font-size:clamp(1.65rem,5.2vw,2.4rem)}
.sec-head p{color:var(--muted);margin-top:6px}
.sec-foot{margin-top:14px;text-align:center}
@media(min-width:900px){.sec{padding:44px 0}.sec-head{display:flex;justify-content:space-between;align-items:baseline;text-align:left;gap:20px}.sec-head.center{display:block;text-align:center}}

/* hero */
.hero{padding:18px 0 6px;text-align:center}
.hero h1{font-size:clamp(2.3rem,9.6vw,4.9rem);line-height:1.02}
.hero-copy p{font-size:1.15rem;max-width:30ch;margin:12px auto 18px}
.hero-cta{display:grid;gap:12px;max-width:340px;margin-inline:auto}
.hero .hero-cta .alt{display:none}
.hero-rug{display:block;margin-top:20px;height:min(46svh,460px)}
.hero-rug img{width:100%;height:100%;object-fit:contain}
.hero-cap{font-size:.95rem;color:var(--muted);margin-top:8px}
@media(min-width:900px){
  .hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:48px;text-align:left;padding:34px 0 20px}
  .hero-copy p{margin-inline:0;max-width:34ch;font-size:1.4rem;line-height:1.4;margin-block:18px 26px}
  .hero .hero-cta{margin-inline:0;display:flex;max-width:none}
  .hero .hero-cta .btn{width:auto;padding-inline:30px;display:flex}
  .hero-rug{height:min(80vh,860px);margin:0}
  .hero-fig{text-align:center}
}

/* swipe rows */
.row{display:grid;grid-auto-flow:column;grid-auto-columns:39%;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;padding:2px 16px 12px;margin-inline:-16px;scroll-padding-inline:16px;scrollbar-width:none}
.row::-webkit-scrollbar{display:none}
.row>*{scroll-snap-align:start}
.row.cards{grid-auto-columns:62%}
@media(min-width:600px){.row{grid-auto-columns:27%}.row.cards{grid-auto-columns:36%}}
@media(min-width:1024px){.row{grid-auto-columns:minmax(0,1fr);padding-inline:0;margin-inline:0;scroll-padding-inline:0;gap:18px}.row.cards{grid-auto-columns:22%}}
@media(min-width:1500px){.row.cards{grid-auto-columns:17.5%}}
.tile{display:flex;flex-direction:column;text-decoration:none;border:1px solid var(--line);border-radius:var(--r-box);padding:10px;text-align:center}
.tile:hover{border-color:var(--indigo)}
.tile span{display:block;aspect-ratio:1/1.1;overflow:hidden}
.tile img{width:100%;height:100%;object-fit:contain}
.tile b{margin-top:10px;font-size:1rem;line-height:1.2}

/* cards and grid */
.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
@media(min-width:700px){.grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}}
@media(min-width:1100px){.grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(min-width:1500px){.grid{grid-template-columns:repeat(5,minmax(0,1fr))}}
.card{display:flex;flex-direction:column;text-decoration:none;border:1px solid var(--line);border-radius:var(--r-box);padding:10px;background:var(--white);text-align:center}
.card:hover{border-color:var(--indigo)}
.card-img{display:block;aspect-ratio:4/5;overflow:hidden}
.card-img img{width:100%;height:100%;object-fit:contain}
.card-name{display:block;font-weight:700;margin-top:10px;line-height:1.25}
.card-meta{display:block;color:var(--muted);font-size:.9rem;line-height:1.3;margin-top:4px}
.card-price{display:block;margin-top:8px;font-weight:700;font-size:1.15rem}
.card-price s,.price s{color:var(--muted);font-weight:500;font-size:.85em;margin-left:8px}
.card[hidden]{display:none}

/* bands and boxes */
.band{background:var(--indigo);color:#fff;text-align:center;padding:40px 0}
.band h2{color:#fff;font-size:clamp(1.7rem,5.6vw,2.7rem);max-width:22ch;margin-inline:auto}
.band p{max-width:52ch;margin:14px auto 22px;font-size:1.125rem;color:#E4E8F5}
.band .btn{background:#fff;color:var(--indigo);border-color:#fff}
.band .btn:hover{background:var(--selvedge)}
.boxes{display:grid;gap:12px}
@media(min-width:800px){.boxes{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.boxes.two{grid-template-columns:repeat(2,minmax(0,1fr))}}
.box{border:1px solid var(--line);border-radius:var(--r-box);padding:20px;text-align:center}
.box h3{font-size:1.35rem;margin-bottom:8px}
.box p+p{margin-top:8px}
.box .btn{margin-top:14px}
.box.tint{background:var(--selvedge);border-color:var(--selvedge)}
.box.left{text-align:left}

/* collection */
.page-head{text-align:center;padding:22px 0 12px}
.page-head h1{font-size:clamp(2rem,7vw,3.4rem)}
.page-head p{color:var(--muted);max-width:60ch;margin:8px auto 0}
.toolbar{position:sticky;top:var(--head);z-index:20;background:var(--white);display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:10px 0;margin-bottom:6px}
.toolbar .btn,.toolbar select{min-height:48px}
.toolbar select{width:100%;border:2px solid var(--indigo);border-radius:var(--r-btn);padding:0 6px;font-size:.95rem;background:var(--white);font-weight:700;text-align:center;text-align-last:center}
@media(min-width:900px){.toolbar{grid-template-columns:220px 260px;justify-content:space-between}}
.fgroup{border-bottom:1px solid var(--line);padding:12px 0}
.fgroup h3{font:700 1rem/1.2 "Instrument Sans",sans-serif;color:var(--ink);letter-spacing:0;margin-bottom:10px}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{position:relative}
.chip input{position:absolute;opacity:0;inset:0;cursor:pointer}
.chip span{display:block;padding:9px 14px;border:1.5px solid var(--line);border-radius:999px;font-weight:600;font-size:.95rem}
.chip input:checked+span{background:var(--indigo);border-color:var(--indigo);color:#fff}
.chip input:focus-visible+span{outline:3px solid var(--saffron);outline-offset:2px}
.drawer .btn{margin-top:14px}
.empty{display:none;text-align:center;padding:40px 0}
.empty.on{display:block}
.empty .btn{margin-top:14px}

/* rug page */
.crumbs{font-size:.9rem;color:var(--muted);padding:12px 0 0;text-align:center}
.crumbs a{text-underline-offset:3px}
.pdp{display:grid;gap:18px;padding:12px 0 26px}
.gal{min-width:0}
.strip{display:grid;grid-auto-flow:column;grid-auto-columns:100%;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;border:1px solid var(--line);border-radius:var(--r-box)}
.strip::-webkit-scrollbar{display:none}
.strip button{scroll-snap-align:center;border:0;background:var(--white);padding:10px;aspect-ratio:4/5;max-height:52svh;width:100%;cursor:zoom-in}
.strip img{width:100%;height:100%;object-fit:contain}
.thumbs{display:flex;gap:8px;justify-content:center;margin-top:10px;flex-wrap:wrap}
.thumbs button{width:50px;height:62px;padding:3px;border:1.5px solid var(--line);border-radius:10px;background:var(--white);cursor:pointer}
.thumbs button[aria-current="true"]{border-color:var(--indigo);border-width:2px}
.thumbs img{width:100%;height:100%;object-fit:contain}
.buybox{border:1px solid var(--line);border-radius:var(--r-box);padding:18px;text-align:center}
.buybox h1{font-size:clamp(1.8rem,6vw,2.5rem)}
.pdp-sub{color:var(--muted);margin-top:8px;font-weight:500}
.price{font-size:1.9rem;font-weight:700;margin:12px 0 14px}
.facts{display:grid;gap:4px;margin:16px 0 0}
.facts b{font-weight:700}
.buybox .btn+.btn{margin-top:10px}
.assure{display:grid;gap:6px;margin-top:16px;padding-top:14px;border-top:1px solid var(--line);font-weight:600;font-size:.98rem}
.assure a{text-underline-offset:3px}
.buybar{position:fixed;left:0;right:0;bottom:0;z-index:25;display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:center;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--line)}
.buybar b{font-size:1.3rem}
.buybar .btn{min-height:50px}
body:has(.buybar) .site-foot{padding-bottom:76px}
.sold{display:inline-block;background:var(--madder);color:#fff;font-weight:700;border-radius:999px;padding:4px 14px;margin-top:10px}
@media(min-width:960px){
  .crumbs{text-align:left}
  .buybar{display:none}
  body:has(.buybar) .site-foot{padding-bottom:0}
  .pdp{grid-template-columns:minmax(0,1.3fr) minmax(360px,.7fr);gap:36px;align-items:start}
  .gal{display:grid;grid-template-columns:76px minmax(0,1fr);gap:12px}
  .thumbs{order:-1;flex-direction:column;justify-content:flex-start;margin:0;flex-wrap:nowrap}
  .thumbs button{width:76px;height:94px}
  .strip{overflow:hidden}
  .strip button{max-height:82vh}
  .buybox{position:sticky;top:calc(var(--head) + 16px);padding:26px;text-align:left}
}
.spec{width:100%;border-collapse:collapse;text-align:left}
.spec th,.spec td{padding:9px 0;border-bottom:1px solid var(--line);vertical-align:top}
.spec th{font-weight:600;color:var(--muted);width:42%;padding-right:10px}
.spec tr:last-child th,.spec tr:last-child td{border-bottom:0}
.prose p+p{margin-top:12px}
.prose{max-width:70ch}

/* lightbox: whole picture first, tap to zoom into a spot */
.lb{position:fixed;inset:0;z-index:60;background:#fff;display:none}
.lb.on{display:block}
.lb-pan{position:absolute;inset:0;overflow:auto;display:grid;place-items:center}
.lb-pan img{max-width:100%;max-height:100%;object-fit:contain;cursor:zoom-in}
.lb-pan.zoom{display:block}
.lb-pan.zoom img{max-width:none;max-height:none;width:260%;cursor:zoom-out}
.lb .x{position:fixed;top:10px;right:14px;z-index:2;background:#fff;border:2px solid var(--indigo);border-radius:999px;padding:8px 16px;text-decoration:none}
.lb-tip{position:fixed;bottom:14px;left:50%;transform:translateX(-50%);background:var(--indigo);color:#fff;border-radius:999px;padding:8px 16px;font-size:.9rem;font-weight:600;white-space:nowrap}

/* text pages, forms */
.text{padding:24px 0 36px}
.text h1{font-size:clamp(2rem,7vw,3.4rem);text-align:center;margin-bottom:18px}
.text h2{font-size:1.5rem;margin:26px 0 8px}
.text .prose{margin-inline:auto}
.form{display:grid;gap:12px;text-align:left}
.form label{display:grid;gap:5px;font-weight:600;font-size:.98rem}
.form input,.form select{min-height:50px;border:1.5px solid var(--line);border-radius:var(--r-btn);padding:0 14px;background:#fff;width:100%}
.form input:focus,.form select:focus{border-color:var(--indigo);outline:0}
.pair{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.note{color:var(--muted);font-size:.95rem}
.msg{border-radius:var(--r-btn);padding:14px;background:var(--selvedge);font-weight:600;display:none}
.msg.on{display:block}
.sum{display:grid;grid-template-columns:96px 1fr;gap:14px;align-items:center;text-align:left}
.sum img{width:96px;height:120px;object-fit:contain}

/* footer */
.site-foot{background:var(--indigo);color:#E4E8F5;margin-top:26px}
.foot-grid{display:grid;gap:26px;padding:34px 0;text-align:center}
.site-foot h2{font:700 1.05rem/1.2 "Instrument Sans",sans-serif;color:#fff;letter-spacing:0;margin-bottom:10px}
.site-foot li{padding:4px 0}
.site-foot a{text-underline-offset:3px}
.foot-brand{font:400 1.6rem/1 "Young Serif",Georgia,serif;color:#fff}
.legal{border-top:1px solid rgba(255,255,255,.2);padding:16px 0 22px;font-size:.9rem;text-align:center}
@media(min-width:800px){.foot-grid{grid-template-columns:1.3fr 1fr 1fr 1.2fr;text-align:left}}

/* checkout */
.co{max-width:720px}
.co .box{text-align:left;margin-top:16px}
.co-rug{display:flex;gap:16px;align-items:center}
.co-rug img{width:110px;height:auto;border-radius:10px;flex:none}
.co-rug h2{font-size:1.25rem;margin:0}
.co-rug .price{margin-top:6px}
.co-form h2{font-size:1.3rem;margin:18px 0 8px}
.co-form h2:first-child{margin-top:0}
.co-form label{display:block;font-weight:600;margin-top:10px}
.co-form input:not([type=radio]){display:block;width:100%;margin-top:6px;padding:12px 14px;border:1px solid var(--line,#D3D9EA);border-radius:10px;font:inherit;font-weight:400;background:#fff}
.co-form .pair{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.co-form .pair.three{grid-template-columns:2fr 1fr 1.2fr}
.co-how label{display:flex;gap:10px;align-items:center;padding:12px 14px;border:1px solid var(--line,#D3D9EA);border-radius:10px;font-weight:600}
.co-how input{width:20px;height:20px;accent-color:#1D2B5A}
.co-sum{margin-top:18px;width:100%}
.co-sum td{text-align:right}
.co-err{color:#A3322B;font-weight:600;min-height:1.2em;margin:10px 0}
.co-note{font-size:.92rem;color:#4a5578;margin-top:10px}
.co #co-pay{width:100%}
.co-done{text-align:center!important}
@media(max-width:560px){.co-form .pair{grid-template-columns:1fr}.co-form .pair.three{grid-template-columns:1fr 1fr}.co-form .pair.three label:first-child{grid-column:1/-1}}
.co-zelle{margin-top:22px;padding-top:18px;border-top:1px solid var(--line,#D3D9EA);text-align:center}
.co-zelle h2{margin-top:0!important}
.co-zelle .btn{width:100%;margin-top:10px}
