:root{--cream:#FFF6E5;--card:#FFFFFF;--ink:#3B2A20;--tang:#F58A1F;--tang2:#C96A0C;--blue:#A9D4E8;--lime:#C9D86A;--olive:#5E7A2E;--mut:#6A5849;--soft:#E6D8BE;--mist:#EAF4F8}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font:17px/1.65 "Source Sans 3",Arial,sans-serif;padding-bottom:0}
h1,h2,h3{font-family:"Young Serif",Georgia,serif;font-weight:400}
a{color:var(--tang2);text-underline-offset:3px}a:hover{color:var(--ink)}
:focus-visible{outline:3px solid var(--ink);outline-offset:2px}
.wrap{max-width:1200px;margin:0 auto;padding:0 28px}
.strip{background:var(--lime);font:600 14px/1.4 "Source Sans 3",sans-serif;padding:7px 0}.strip a{color:var(--ink)}
.strip .wrap{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
.top{background:var(--cream);border-bottom:2px solid var(--ink);position:sticky;top:0;z-index:30}
.top .wrap{display:flex;align-items:center;gap:26px;min-height:70px}
.brand{display:flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none;font:400 24px/1 "Young Serif",serif;white-space:nowrap}
.brand svg{width:36px;height:36px;flex:none}
nav{display:flex;flex-wrap:wrap;align-items:center;flex:1}
nav a{color:var(--ink);text-decoration:none;font-size:16px;font-weight:600;padding:10px 12px}
nav a:hover{text-decoration:underline;text-decoration-thickness:3px;text-underline-offset:6px;text-decoration-color:var(--tang)}
nav a.on{text-decoration:underline;text-decoration-thickness:3px;text-underline-offset:6px;text-decoration-color:var(--tang)}
.basket-btn{margin-left:auto;display:inline-flex;align-items:center;gap:10px;background:var(--ink);color:#fff;text-decoration:none;font:700 15px/1 "Source Sans 3",sans-serif;padding:12px 16px;border:0}
.basket-btn b{display:inline-block;min-width:24px;padding:3px 6px;background:var(--tang);color:var(--ink);text-align:center;font-size:14px}
.basket-btn:hover{background:var(--tang);color:var(--ink)}.basket-btn:hover b{background:var(--ink);color:#fff}
.menu-btn{display:none;background:transparent;border:2px solid var(--ink);color:var(--ink);font:700 14px/1 "Source Sans 3",sans-serif;padding:9px 14px;cursor:pointer;margin-left:auto}
/* hero (home): big type + stamp */
.hero{padding:56px 0 40px;position:relative}
.hero .wrap{position:relative}
.kick{font:700 14px/1 "Source Sans 3",sans-serif;letter-spacing:.14em;text-transform:uppercase;margin:0 0 16px;color:var(--tang2)}
h1{font:400 clamp(40px,6.4vw,92px)/.98 "Young Serif",serif;letter-spacing:-.02em;margin:0 0 20px;max-width:980px}
h1 em{font-style:normal;color:var(--tang2)}
.lede{font-size:21px;max-width:640px;margin:0 0 24px}
.btn{display:inline-block;background:var(--tang);color:var(--ink);border:2px solid var(--ink);padding:14px 24px;font:700 17px/1 "Source Sans 3",sans-serif;cursor:pointer;text-decoration:none;border-radius:0}
.btn:hover{background:var(--ink);color:#fff}
.btn.alt{background:transparent}.btn.alt:hover{background:var(--ink);color:#fff}
.stamp{position:absolute;right:28px;top:36px;width:170px;height:170px;border-radius:50%;background:var(--blue);border:2px solid var(--ink);display:flex;align-items:center;justify-content:center;text-align:center;font:400 18px/1.15 "Young Serif",serif;padding:18px;transform:rotate(8deg)}
.pagehero{padding:48px 0 38px;border-bottom:2px solid var(--ink)}
.pagehero.c0{background:var(--blue)}.pagehero.c1{background:var(--lime)}.pagehero.c2{background:var(--tang)}.pagehero.c3{background:var(--blue)}
.pagehero h1{font-size:clamp(34px,5vw,64px);max-width:900px}.pagehero .kick{color:var(--ink)}.pagehero .lede{margin:0}
/* shop grid */
.shop{padding:40px 0 56px;background:var(--mist);border-top:2px solid var(--ink);border-bottom:2px solid var(--ink)}
.shop .head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap;margin-bottom:22px}
.shop h2{margin:0}
.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.pcard{background:var(--card);border:2px solid var(--ink);display:flex;flex-direction:column;min-width:0}
.pcard .art{height:150px;border-bottom:2px solid var(--ink);display:block;width:100%}
.pcard .bd{padding:14px 16px 16px;display:flex;flex-direction:column;flex:1}
.pcard h3{margin:0 0 4px;font-size:20px}.pcard p{margin:0 0 12px;font-size:15.5px;color:var(--mut);flex:1}
.pcard button{background:var(--card);border:2px solid var(--ink);color:var(--ink);font:700 15px/1 "Source Sans 3",sans-serif;padding:11px 12px;cursor:pointer;text-align:left;display:flex;justify-content:space-between;border-radius:0}
.pcard button:after{content:"+";font-size:18px;line-height:.8}
.pcard button:hover{background:var(--lime)}
.pcard button[aria-pressed=true]{background:var(--ink);color:#fff}.pcard button[aria-pressed=true]:after{content:"\2713"}
.fine{font:400 14px/1.5 "Source Sans 3",sans-serif;color:var(--mut)}
/* content sections as color blocks */
main section{padding:46px 0;border-bottom:2px solid var(--ink)}
main section:nth-of-type(odd){background:var(--cream)}main section:nth-of-type(even){background:#FFEFCF}
h2{font:400 clamp(28px,3.4vw,42px)/1.1 "Young Serif",serif;margin:0 0 20px;max-width:760px}
h3{font:400 22px/1.2 "Young Serif",serif;margin:22px 0 8px}
p{margin:0 0 15px}ul,ol{padding-left:22px}li{margin-bottom:7px}
.body{max-width:780px}
.split{display:grid;grid-template-columns:5fr 7fr;gap:48px;align-items:start}
.split>*{min-width:0}
.split h2{position:sticky;top:96px}
.steps{list-style:none;padding:0;margin:0;counter-reset:st;border-top:2px solid var(--ink)}
.steps li{counter-increment:st;display:grid;grid-template-columns:72px 1fr;gap:10px;padding:16px 0;border-bottom:2px solid var(--ink);margin:0;align-items:baseline}
.steps li:before{content:counter(st);font:400 48px/1 "Young Serif",serif;color:var(--tang2)}
.note{background:var(--lime);border:2px solid var(--ink);padding:14px 18px;margin:0 0 16px}.note p:last-child{margin:0}
.tw{overflow-x:auto;border:2px solid var(--ink);background:var(--card);margin:0 0 14px}
table{border-collapse:collapse;width:100%;min-width:760px;font-size:15.5px}
th{background:var(--ink);color:#fff;text-align:left;padding:12px 14px;font:700 14px/1.2 "Source Sans 3",sans-serif;letter-spacing:.08em;text-transform:uppercase}
td{padding:12px 14px;border-top:2px solid var(--soft);vertical-align:top;line-height:1.5}
td:first-child{font:400 19px/1.3 "Young Serif",serif;white-space:nowrap;background:var(--mist)}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.grid2>*{min-width:0}
.vend{background:var(--card);border:2px solid var(--ink);display:flex;flex-direction:column}
.vend header{padding:14px 18px;border-bottom:2px solid var(--ink);display:flex;justify-content:space-between;gap:10px;align-items:baseline}
.vend:nth-child(4n+1) header{background:var(--blue)}.vend:nth-child(4n+2) header{background:var(--lime)}.vend:nth-child(4n+3) header{background:var(--tang)}.vend:nth-child(4n+4) header{background:var(--blue)}
.vend header h3{margin:0;font-size:26px}.tag{font:700 12px/1 "Source Sans 3",sans-serif;letter-spacing:.12em;text-transform:uppercase}
.vend .in{padding:14px 18px 6px}
.vend h4{font:700 12px/1 "Source Sans 3",sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--tang2);margin:0 0 5px}.vend p{font-size:16px}
/* gift finder tool */
.lister{background:var(--card);border:2px solid var(--ink);padding:22px}.lister h3{margin:0 0 4px}.lister .fine{margin:0 0 12px}
.lister select{font:16px "Source Sans 3",sans-serif;padding:10px;border:2px solid var(--ink);background:#fff;border-radius:0;margin:0 8px 8px 0}
.lister h4{font:700 12px/1 "Source Sans 3",sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--tang2);margin:16px 0 8px}
.rooms{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px}.rooms label.o{display:inline-flex;align-items:center;gap:8px;border:2px solid var(--ink);background:#fff;padding:9px 12px;cursor:pointer;font:600 15px/1 "Source Sans 3",sans-serif}
.rooms label.o:has(input:checked){background:var(--ink);color:#fff}.rooms input{width:16px;height:16px;accent-color:var(--tang)}
#ls-out{border-left:10px solid var(--lime);background:var(--mist);padding:12px 18px;margin-top:10px}#ls-out h4{margin:12px 0 5px;color:var(--ink)}#ls-out ul{margin:0 0 8px}
#ls-add{margin-top:12px}
details{border-top:2px solid var(--ink);padding:2px 0}details:last-of-type{border-bottom:2px solid var(--ink)}
summary{cursor:pointer;font:400 21px/1.35 "Young Serif",serif;padding:14px 32px 14px 0;position:relative;list-style:none}
summary::-webkit-details-marker{display:none}summary:after{content:"+";position:absolute;right:4px;top:8px;font:400 30px/1 "Young Serif",serif;color:var(--tang2)}details[open] summary:after{content:"\2212"}
/* request band (wide form) */
.req{background:var(--tang);padding:52px 0 58px;border-top:2px solid var(--ink);scroll-margin-top:70px}
.req .head{display:grid;grid-template-columns:5fr 7fr;gap:48px;align-items:start}
.req h2{margin:0 0 14px}
.req .head>*{min-width:0}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px;min-height:36px}
.chips span{background:var(--ink);color:#fff;font:600 14px/1 "Source Sans 3",sans-serif;padding:8px 10px}
.chips em{font:italic 15px "Source Sans 3",sans-serif;color:var(--ink);opacity:.8}
.formbox{background:var(--card);border:2px solid var(--ink);padding:20px}
.form{display:grid;gap:12px}
.form label{display:block;font:700 13px/1 "Source Sans 3",sans-serif;letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px}
.form input[type=text],.form input[type=tel],.form input[type=email],.form select,.form textarea{width:100%;font:16px/1.3 "Source Sans 3",sans-serif;padding:11px;border:2px solid var(--ink);background:#fff;color:var(--ink);border-radius:0}
.three{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.form label.chk{display:flex;gap:9px;align-items:flex-start;font:400 13.5px/1.45 "Source Sans 3",sans-serif;letter-spacing:0;text-transform:none;margin:0}.chk input{width:19px;height:19px;margin-top:2px;flex:none;accent-color:var(--ink)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.msg{font:700 15px/1.5 "Source Sans 3",sans-serif}.msg.ok{color:#14532D;background:#E1F0DC;padding:12px 14px;border:2px solid #14532D}.msg.err{color:#A3162F}.msg:empty{display:none}
.req .btn{background:var(--ink);color:#fff}.req .btn:hover{background:var(--lime);color:var(--ink)}
/* sticky basket bar */
#bk-bar{position:fixed;left:0;right:0;bottom:0;z-index:35;background:var(--ink);color:#fff;transform:translateY(110%);transition:transform .2s;padding:12px 0}
#bk-bar.on{transform:none}
#bk-bar .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px}
#bk-bar a{background:var(--tang);color:var(--ink);text-decoration:none;font:700 16px/1 "Source Sans 3",sans-serif;padding:12px 18px}
footer{background:var(--ink);color:#CDBFAF;padding:42px 0 22px;font:15.5px/1.6 "Source Sans 3",sans-serif}
footer .wrap{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:36px}
footer h4{color:#fff;font:400 18px/1 "Young Serif",serif;margin:0 0 12px}
footer a{color:#F3E8D8;display:block;text-decoration:none;padding:3px 0}footer a:hover{color:var(--lime);text-decoration:underline}footer p{margin:0 0 10px}footer p a{display:inline;text-decoration:underline}
.legalline{max-width:1200px;margin:24px auto 0;padding:18px 28px 0;border-top:1px solid #5A4739;font-size:13px}
#cn{display:none;position:fixed;left:0;right:0;bottom:0;background:var(--card);border-top:2px solid var(--ink);padding:12px 28px;z-index:50;font:14.5px/1.4 "Source Sans 3",sans-serif;justify-content:space-between;gap:16px;align-items:center}
#cn.on{display:flex}#cn button{background:var(--ink);color:#fff;border:0;padding:10px 22px;font:700 14px/1 "Source Sans 3",sans-serif;cursor:pointer}
@media(max-width:1020px){.grid4{grid-template-columns:1fr 1fr}.split,.req .head{grid-template-columns:1fr;gap:20px}.split h2{position:static}.grid2{grid-template-columns:1fr}.three{grid-template-columns:1fr 1fr}.menu-btn{display:block}.basket-btn{margin-left:0}
.top .wrap{gap:12px;position:relative}nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--cream);flex-direction:column;align-items:stretch;border-bottom:2px solid var(--ink);padding:6px 28px;flex:none}body.nav-open nav{display:flex}nav a{padding:14px 0}.stamp{display:none}footer .wrap{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.wrap{padding:0 16px}.grid4{grid-template-columns:1fr}.three,.two{grid-template-columns:1fr}.hero{padding:34px 0 28px}.brand{font-size:19px;white-space:normal;line-height:1.1}.brand svg{width:28px;height:28px}.basket-btn{padding:10px 11px}.basket-btn span{display:none}footer .wrap{grid-template-columns:1fr}.legalline{padding:18px 16px 0}#cn{padding:12px 16px}td:first-child{white-space:normal}.steps li{grid-template-columns:52px 1fr}.steps li:before{font-size:38px}nav{padding:6px 16px}.strip .wrap{display:block}.vend header{flex-direction:column;gap:4px}.formbox{padding:14px}}
.req a{color:var(--ink)}
.strip .wrap{gap:4px 18px}
.strip .wrap>span{display:block}
