:root{color-scheme:light;--paper:#f7f1e7;--light:#fffaf2;--ink:#281e23;--plum:#61273f;--plum2:#4b1f34;--rust:#b94d34;--mustard:#f0cd77;--soft:#e9ded2;--muted:#65575c;--line:#baa99f;--serif:Georgia,'Times New Roman',serif;--sans:'Trebuchet MS',ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:100px}
body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.55 var(--sans);-webkit-font-smoothing:antialiased}
button,input,select{font:inherit}button{cursor:pointer}a{color:inherit}a:hover{text-decoration-thickness:2px}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--rust);outline-offset:4px}
::selection{background:var(--mustard);color:var(--ink)}[hidden]{display:none!important}.sr-only{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:fixed;z-index:1000;left:14px;top:10px;background:var(--mustard);border:2px solid var(--ink);padding:9px 13px;transform:translateY(-200%);font-weight:800}.skip-link:focus{transform:translateY(0)}
.container{width:min(100% - 72px,1280px);margin-inline:auto}
.awning{height:17px;background:repeating-linear-gradient(90deg,var(--plum) 0 40px,var(--paper) 40px 80px);border-bottom:3px solid var(--ink)}
.site-header{position:sticky;z-index:20;top:0;background:rgba(247,241,231,.98);border-bottom:1px solid var(--line)}
.topbar{min-height:86px;display:flex;align-items:center;gap:28px;justify-content:space-between}
.brand{text-decoration:none;display:flex;gap:12px;align-items:center;min-width:0}.brand-symbol{display:grid;place-items:center;width:49px;height:49px;border:2px solid var(--plum);background:var(--plum);color:var(--light);font:italic 700 36px/1 var(--serif);transform:rotate(-9deg)}
.brand-name{display:block;font:700 24px/1 var(--serif);letter-spacing:-.06em;white-space:nowrap}.brand-note{display:block;margin-top:8px;font:800 9px/1 var(--sans);letter-spacing:.15em;color:var(--plum);text-transform:uppercase}
.nav-links{display:flex;gap:26px;margin-left:auto}.nav-links a{text-decoration:none;font-size:12px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.nav-links a:hover{color:var(--plum);text-decoration:underline;text-underline-offset:5px}
.basket-trigger{background:var(--plum);color:white;border:2px solid var(--plum);border-radius:100px;padding:10px 14px 10px 19px;display:flex;align-items:center;gap:10px;font-size:13px;font-weight:900;white-space:nowrap;transition:transform .2s,background .2s}.basket-trigger:hover{background:var(--plum2);transform:translateY(-2px)}
.basket-counter{background:var(--mustard);color:var(--ink);width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-size:12px;font-variant-numeric:tabular-nums}
.hero{overflow:hidden}.hero-layout{display:grid;grid-template-columns:minmax(0,1.17fr) minmax(330px,.83fr);gap:clamp(34px,5vw,94px);padding-block:clamp(58px,7vw,106px) 95px;align-items:center}
.hero-left{min-width:0}.eyebrow{display:flex;align-items:center;gap:12px;margin:0 0 40px;color:var(--plum);text-transform:uppercase;font-weight:900;letter-spacing:.11em;font-size:11px;line-height:1.5}.roundel{width:25px;height:25px;background:var(--plum);color:var(--mustard);display:grid;place-items:center;border-radius:50%;font-size:17px}.eyebrow-line{height:1px;background:var(--line);flex:1;min-width:20px}
h1,h2,h3,p{margin-top:0}h1,h2,h3{letter-spacing:-.055em}h1{font:700 clamp(70px,7.9vw,136px)/.83 var(--serif);letter-spacing:-.085em;margin:0 0 38px}h1 em{display:inline-block;font-style:italic;color:var(--plum);letter-spacing:-.1em}h1 .full-stop{color:var(--rust)}
.hero-intro{font:400 clamp(22px,2.5vw,31px)/1.35 var(--serif);letter-spacing:-.03em;margin-bottom:15px}.hero-intro strong{color:var(--plum);margin-right:.15em}.hero-detail{max-width:540px;color:#55464e;font-size:15px;line-height:1.75;margin:0 0 30px}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.button{display:inline-flex;gap:20px;align-items:center;justify-content:center;text-decoration:none;border:2px solid var(--plum);font-weight:900;font-size:13px;line-height:1.25;min-height:50px;padding:13px 19px;transition:transform .2s ease,box-shadow .2s ease,background .2s ease;text-align:center}
.button-primary{background:var(--plum);color:white;box-shadow:5px 5px 0 var(--mustard)}.button-outline{color:var(--plum);background:transparent}.button:hover{transform:translate(-2px,-2px)}.button-primary:hover{box-shadow:7px 7px 0 var(--mustard);background:var(--plum2)}.button-outline:hover{background:#efe1d8}
.tiny-assurance{margin:23px 0 0;font-size:11px;letter-spacing:.035em;color:#74646a;font-weight:700}
.hero-right{min-width:0}.display-case{position:relative;padding:27px;background:#eadcc8;border:2px solid var(--ink);box-shadow:15px 15px 0 var(--plum)}
.display-case::before{content:'';position:absolute;inset:9px;border:1px solid rgba(40,30,35,.3);pointer-events:none}.display-caption{display:flex;align-items:center;justify-content:space-between;gap:14px;font-size:9px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:var(--plum);line-height:1.5;position:relative;z-index:1}.display-caption.bottom{padding-top:16px}
.ticket-frame{margin:22px 0 13px;transform:rotate(-5deg);position:relative;display:grid;grid-template-columns:44px 1fr;background:var(--mustard);border:4px solid var(--ink);min-height:360px;box-shadow:7px 9px 0 rgba(40,30,35,.16)}
.ticket-stub{border-right:3px dashed var(--plum);padding:10px 4px;display:flex;writing-mode:vertical-rl;transform:rotate(180deg);align-items:center;justify-content:space-between;color:var(--plum);font-size:9px;font-weight:900;letter-spacing:.16em;line-height:1.2}
.ticket-face{padding:17px 24px 20px;display:flex;flex-direction:column;align-items:stretch;min-width:0}.ticket-top{display:flex;align-items:start;justify-content:space-between;font-size:13px;line-height:1.2;font-weight:900;letter-spacing:.15em;color:var(--plum)}.ticket-flower{font-size:37px;line-height:1;color:var(--rust);animation:ticket-rotate 25s linear infinite}
.ticket-mark{font:italic 700 clamp(155px,18vw,265px)/1 var(--serif);display:grid;place-items:center;color:var(--plum);transform:rotate(-7deg);flex:1;user-select:none;text-shadow:4px 5px 0 rgba(255,255,255,.25)}
.ticket-bottom{display:flex;align-items:end;justify-content:space-between;gap:8px;padding-top:12px;border-top:2px solid var(--plum)}.ticket-bottom span{max-width:70px;color:var(--plum);font-size:10px;line-height:1.3;font-weight:900;letter-spacing:.1em}.ticket-bottom strong{font:700 67px/.85 var(--serif);letter-spacing:-.08em}
.display-stamp{position:absolute;z-index:2;right:-25px;bottom:14px;width:107px;height:107px;display:grid;place-items:center;background:var(--rust);border:2px solid var(--ink);border-radius:50%;transform:rotate(15deg);text-align:center;font-size:11px;font-weight:900;letter-spacing:.07em;line-height:1.25;color:white;box-shadow:3px 3px 0 var(--ink)}
.daily-special{width:calc(100% - 30px);margin-top:32px;margin-left:0;display:flex;align-items:center;gap:16px;text-align:left;padding:13px 18px;background:var(--light);border:1px solid var(--line);color:var(--ink);transition:transform .2s,border-color .2s}.daily-special:hover{transform:translateY(-2px);border-color:var(--plum)}.daily-special strong{display:block;font-size:11px;font-weight:900;letter-spacing:.11em;color:var(--plum)}.daily-special small{display:block;font-size:12px;line-height:1.4;margin-top:4px;color:#66575c}.daily-special>span:last-child{margin-left:auto;font-size:20px;color:var(--plum)}.daily-sun{font-size:31px;color:var(--rust)}
.marquee-band{background:var(--plum);color:var(--light);border-block:3px solid var(--ink);overflow:hidden}.marquee-content{min-height:63px;display:flex;align-items:center;justify-content:space-between;gap:22px;white-space:nowrap;font-size:12px;letter-spacing:.16em;font-weight:900}.marquee-content span:nth-child(even){color:var(--mustard);font-size:24px}
.section-pad{padding-block:100px 110px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:35px;margin-bottom:36px}.section-heading h2,.etiquette h2{font:700 clamp(43px,5.1vw,78px)/1.03 var(--serif);margin:0 0 14px;letter-spacing:-.07em}.section-heading h2 em,.etiquette h2 em{font-weight:400;color:var(--plum)}.section-heading p:not(.overline){max-width:660px;margin:0;color:#5d4d54;font-size:15px;line-height:1.65}
.overline{font-size:11px!important;font-weight:900!important;letter-spacing:.16em!important;text-transform:uppercase!important;color:var(--plum)!important;margin:0 0 17px!important;line-height:1.4!important}
.section-seal{display:grid;place-items:center;width:112px;height:112px;flex:none;border:2px dotted var(--plum);border-radius:50%;color:var(--plum);text-align:center;font-size:10px;font-weight:900;letter-spacing:.09em;line-height:1.5;transform:rotate(12deg)}
.route-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.route-card{display:flex;flex-direction:column;min-height:340px;padding:25px 25px 23px;background:var(--route-bg);border:1.5px solid var(--ink);box-shadow:5px 5px 0 rgba(40,30,35,.09);position:relative;overflow:hidden;transition:transform .2s,box-shadow .2s}
.route-card:hover{transform:translateY(-4px);box-shadow:5px 9px 0 rgba(40,30,35,.14)}.route-card::before{position:absolute;right:-40px;top:-50px;content:var(--route-symbol);font-family:var(--serif);font-size:170px;line-height:1;color:var(--route-ink);opacity:.12;transform:rotate(-10deg)}.route-card>div{position:relative}.route-top{display:flex;justify-content:space-between;gap:8px;margin-bottom:47px;align-items:start}.route-number{font-weight:900;letter-spacing:.14em;font-size:10px;color:var(--route-ink)}.route-length{font-size:10px;border:1px solid var(--route-ink);padding:4px 8px;color:var(--route-ink);font-weight:900;text-transform:uppercase;white-space:nowrap}.route-card h3{font:700 clamp(29px,3vw,39px)/1.08 var(--serif);margin:0 0 14px;max-width:280px}.route-card p{font-size:13px;line-height:1.65;max-width:290px;margin:0 0 29px}.route-bottom{display:flex;gap:13px;align-items:center;justify-content:space-between;margin-top:auto;padding-top:17px;border-top:1px solid rgba(40,30,35,.33)}.route-start{border:0;background:var(--ink);color:white;padding:11px 13px;font-weight:900;font-size:12px}.route-start:hover{background:var(--plum)}.route-pack{background:transparent;border:0;color:var(--ink);font-size:12px;text-decoration:underline;text-underline-offset:4px;font-weight:900;padding:8px 0}.route-pack:hover{color:var(--plum)}
.route-footnote{margin:32px 0 0;font:italic 16px/1.5 var(--serif);color:#64545c}.route-footnote>span{color:var(--rust);font-style:normal;margin-right:8px}
.etiquette{background:#f0e3d8;border-block:1px solid var(--line);padding:55px 0}.etiquette-inner{display:grid;grid-template-columns:.85fr 1.15fr;align-items:center;gap:58px}.etiquette h2{font-size:clamp(37px,4.1vw,60px);margin:0}.etiquette-rules{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.etiquette-rules p{font-size:13px;line-height:1.65;margin:0}.etiquette-rules strong{color:var(--plum);font-size:12px;letter-spacing:.02em}
.catalogue{background:var(--light)}.inventory-seal{display:flex;flex-direction:column;align-items:center;justify-content:center;width:118px;height:118px;flex:none;border:3px double var(--plum);border-radius:50%;transform:rotate(10deg);color:var(--plum)}.inventory-seal span{font-size:10px;text-align:center;font-weight:900;letter-spacing:.1em;line-height:1.3}.inventory-seal strong{font:italic 700 43px/1 var(--serif)}
.browse-controls{border-top:2px solid var(--ink);padding-top:30px;display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.8fr);gap:24px;align-items:end}.control-label{font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:var(--plum);font-weight:900;display:block;margin:0 0 12px}.filters{display:flex;gap:7px;flex-wrap:wrap}.filter{border:1px solid #967d7f;border-radius:2px;background:transparent;color:var(--ink);padding:9px 13px;font-size:12px;font-weight:850;transition:background .2s}.filter small{opacity:.75;font-size:10px;margin-left:5px}.filter:hover{background:#ede2d9}.filter[aria-pressed="true"]{background:var(--plum);color:white;border-color:var(--plum)}.search-field{display:flex;align-items:center;gap:8px;border:1.5px solid #9e8889;background:var(--paper);padding:4px 12px;height:44px}.search-field>span{font:32px/1 var(--serif);color:var(--plum)}.search-field:focus-within{outline:3px solid var(--rust);outline-offset:2px}.search-field input{flex:1;min-width:0;background:transparent;border:0;outline:0;font-size:12px;color:var(--ink)}.search-field input::placeholder{color:#75666a}.search-field kbd{border:1px solid #b7a59d;color:#66575c;font:700 11px var(--sans);padding:3px 6px}
.stockline{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:29px 0 19px;font-size:12px;font-weight:800;color:#67565b}.stockline p{margin:0}.stockline span{font-size:10px;letter-spacing:.1em}.stockline strong{color:var(--plum)}
.products{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.product{--card:#eddad5;--accent:#893647;position:relative;display:flex;flex-direction:column;min-height:310px;background:var(--card);border:1.5px solid #4e3d42;box-shadow:4px 4px 0 rgba(54,36,42,.09);overflow:hidden;transition:transform .2s,box-shadow .2s}
.product:hover{transform:translateY(-3px);box-shadow:4px 7px 0 rgba(54,36,42,.15)}.product[data-aisle="Self"]{--card:#f1ded8;--accent:#974558}.product[data-aisle="Work"]{--card:#dce7dc;--accent:#316653}.product[data-aisle="Love"]{--card:#f5e1bf;--accent:#9b572e}.product[data-aisle="Curiosity"]{--card:#e0e9ed;--accent:#35647c}.product[data-aisle="Time"]{--card:#ebe2ef;--accent:#72538a}.product[data-aisle="Strange"]{--card:#e7e9c9;--accent:#596c39}.product::before{content:'';height:8px;background:repeating-linear-gradient(90deg,var(--accent) 0 21px,transparent 21px 29px);border-bottom:1px solid #9e8481}
.product-body{display:flex;flex-direction:column;flex:1;padding:21px 24px 22px}.product-top{display:flex;justify-content:space-between;gap:10px;margin-bottom:27px;align-items:center;font-size:10px;font-weight:900;letter-spacing:.15em;text-transform:uppercase}.product-aisle{color:var(--accent)}.product-id{opacity:.65}.product h3{font:700 clamp(27px,2.6vw,38px)/1.09 var(--serif);letter-spacing:-.055em;margin:0 0 13px}.product-desc{font-size:13px;color:#57474c;line-height:1.58;margin:0 0 24px;max-width:270px}.product-footer{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:13px;border-top:1px solid rgba(40,30,35,.25)}.product-price{font-size:10px;font-weight:900;letter-spacing:.12em;color:var(--accent)}.take-btn{background:var(--ink);color:white;border:1px solid var(--ink);font-size:11px;text-transform:uppercase;font-weight:900;letter-spacing:.045em;padding:10px 12px}.take-btn:hover{background:var(--plum)}
.no-results{border:2px dashed var(--line);text-align:center;padding:70px 20px}.no-results>span{font:700 55px var(--serif);color:var(--plum)}.no-results h3{font:700 30px var(--serif);margin:10px 0}.no-results p{color:var(--muted)}.no-script{border:2px solid var(--plum);padding:18px}
.endnote{background:var(--plum);color:var(--light);padding:65px 0}.endnote-inner{display:flex;align-items:center;gap:25px}.endnote-symbol{font:italic 220px/.6 var(--serif);color:var(--mustard);transform:translateY(25px)}.endnote h2{font:400 clamp(34px,4.3vw,58px)/1.1 var(--serif);margin:0 0 13px;letter-spacing:-.04em}.endnote h2 em{color:var(--mustard)}.endnote p{font-size:14px;color:#e8d8d5;margin:0}.endnote-star{margin-left:auto;font-size:90px;color:var(--mustard);font-weight:400}
.site-footer{padding:36px 0 42px;background:var(--paper);border-top:3px solid var(--ink)}.footer-inner{display:grid;grid-template-columns:1fr 1.25fr 1fr;gap:24px;align-items:center;font-size:11px;color:#625259}.footer-inner strong{display:block;letter-spacing:.13em;color:var(--plum);font-size:12px;margin-bottom:6px}.footer-inner span{display:block}.footer-center{text-align:center}.footer-inner>a{text-align:right;font-weight:900;color:var(--plum);text-underline-offset:3px}
/* Dialogs are genuine native dialogs: focus containment and Escape are browser-owned. */
dialog{color:var(--ink)}dialog::backdrop{background:rgba(29,19,28,.78)}
.question-dialog{position:fixed;inset:0;width:100vw;max-width:none;height:100dvh;max-height:none;min-height:100vh;margin:0;padding:0;border:0;background:#f4dfce;overflow:auto}.question-dialog[open]{display:flex;flex-direction:column}.question-dialog::before{content:'';display:block;height:12px;flex:none;background:repeating-linear-gradient(90deg,var(--plum) 0 35px,var(--paper) 35px 70px)}
.question-dialog[data-aisle="Self"]{background:#f1ded8}.question-dialog[data-aisle="Work"]{background:#dce7dc}.question-dialog[data-aisle="Love"]{background:#f5e1bf}.question-dialog[data-aisle="Curiosity"]{background:#e0e9ed}.question-dialog[data-aisle="Time"]{background:#ebe2ef}.question-dialog[data-aisle="Strange"]{background:#e7e9c9}
.question-dialog-top,.question-dialog-bottom{width:min(100% - 60px,1140px);margin-inline:auto;display:flex;justify-content:space-between;gap:18px;align-items:center;flex:none}.question-dialog-top{padding-block:22px;font-size:11px;font-weight:900;letter-spacing:.15em;text-transform:uppercase}.close-dialog{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--ink);background:transparent;padding:9px 15px;color:var(--ink);font-weight:900;font-size:12px;min-height:44px}.close-dialog:hover{background:var(--ink);color:#fff}.question-dialog-main{width:min(100% - 60px,1040px);margin:auto;display:flex;flex-direction:column;align-items:start;padding-block:45px 65px}.question-meta,.route-progress{margin:0 0 15px;color:var(--plum);font-size:11px;font-weight:900;letter-spacing:.17em;text-transform:uppercase}.route-progress{display:inline-flex;background:var(--plum);color:#fff;padding:6px 10px;margin-bottom:18px;letter-spacing:.07em}.question-name{font:italic 400 clamp(24px,3vw,38px)/1.2 var(--serif);color:var(--plum);margin:0 0 22px}.question-text{font:700 clamp(38px,6vw,88px)/1.08 var(--serif);letter-spacing:-.057em;text-wrap:balance;max-width:1050px;margin:0 0 30px}
.follow-wrap{width:min(100%,670px)}.follow-toggle{border:0;border-bottom:1px solid var(--plum);padding:7px 0 10px;background:transparent;font-size:13px;font-weight:900;color:var(--plum);display:flex;align-items:center;gap:10px}.follow-toggle>span:last-child{margin-left:15px;font-size:18px}.follow-toggle:hover{color:var(--rust)}.follow-panel{margin:16px 0 0;padding:20px 24px;background:rgba(255,255,255,.45);border-left:4px solid var(--plum)}.follow-panel .follow-overline{font-size:10px;font-weight:900;letter-spacing:.15em;color:var(--plum);margin:0 0 9px}.follow-panel p:not(.follow-overline){font:italic 26px/1.35 var(--serif);margin:0 0 8px}.follow-panel span{font-size:12px;color:#564750}
.question-dialog-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:38px}.question-dialog-bottom{border-top:1px solid #806a72;padding:17px 0 22px;font-size:10px;font-weight:900;letter-spacing:.09em}
.finish-dialog{max-width:min(100% - 30px,660px);width:660px;border:2px solid var(--ink);box-shadow:12px 12px 0 var(--mustard);padding:0;background:var(--paper)}.finish-box{position:relative;padding:58px 44px 44px;text-align:center}.finish-close{position:absolute;right:14px;top:14px}.finish-star{font-size:50px;color:var(--rust)}.finish-box h2{font:700 clamp(38px,5vw,58px)/1.1 var(--serif);margin:16px 0}.finish-box h2 em{color:var(--plum);font-weight:400}.finish-box>p:not(.overline){max-width:470px;margin:0 auto 27px;color:#57494f}.finish-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:13px}
.cart-dialog{position:fixed;inset:0 0 0 auto;max-width:none;width:min(100%,560px);height:100dvh;max-height:none;margin:0;padding:0;border:0;background:var(--paper);overflow:auto;box-shadow:-20px 0 45px rgba(0,0,0,.3)}.cart-dialog[open]{display:flex;flex-direction:column}
.cart-header{display:flex;justify-content:space-between;gap:15px;align-items:start;padding:27px clamp(22px,4vw,38px) 21px;border-bottom:2px solid var(--ink)}.cart-header h2{font:700 clamp(38px,4vw,56px)/1 var(--serif);margin:0}.cart-header h2 em{font-weight:400;color:var(--plum)}.cart-content{flex:1;padding:25px clamp(22px,4vw,38px)}.cart-intro{font-size:14px;color:#584950;margin:0 0 24px;line-height:1.65}.cart-empty{text-align:center;background:var(--light);border:1px dashed var(--line);padding:48px 20px}.cart-empty>span{font:italic 700 95px/1 var(--serif);color:var(--plum)}.cart-empty h3{font:700 27px var(--serif);margin:9px 0}.cart-empty p{font-size:13px;color:var(--muted);max-width:280px;margin:auto}
.cart-list{list-style:none;display:grid;gap:12px;padding:0;margin:0}.cart-item{background:var(--light);border:1px solid var(--line);padding:18px 55px 18px 17px;position:relative;counter-increment:cart-idx}.cart-item>small{font-size:10px;text-transform:uppercase;letter-spacing:.13em;color:var(--plum);font-weight:900}.cart-item h3{font:700 24px/1.15 var(--serif);margin:8px 0}.cart-item p{font-size:13px;line-height:1.65;color:#4d4046;margin:0}.remove-item{position:absolute;right:12px;top:13px;width:35px;height:35px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;background:transparent;font-size:18px}.remove-item:hover{background:var(--plum);color:white}
.cart-bottom{background:#ecdfd3;border-top:1px solid var(--line);padding:23px clamp(22px,4vw,38px) 27px}.cart-bottom label{display:block;font-weight:900;color:var(--plum);font-size:11px;letter-spacing:.14em;margin-bottom:9px}.cart-bottom select{width:100%;padding:11px;border:1.5px solid var(--plum);background:var(--light);margin-bottom:12px;border-radius:0}.cart-action-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.cart-action-grid button{border:2px solid var(--plum);background:var(--plum);color:white;padding:11px 9px;font-size:12px;font-weight:900;min-height:44px}.cart-action-grid button:last-child{grid-column:1 / -1;background:transparent;color:var(--plum)}.cart-action-grid button:hover{filter:brightness(.89)}.cart-action-grid button:disabled{opacity:.45;cursor:not-allowed;filter:none}.empty-cart{background:none;border:0;padding:10px 0;text-decoration:underline;text-underline-offset:3px;font-size:12px;font-weight:900;color:var(--plum);margin-top:9px}.empty-cart:disabled{opacity:.4;cursor:not-allowed}.cart-privacy{font-size:11px;line-height:1.5;color:#67585e;margin:6px 0 0}
.print-only{display:none}
@keyframes ticket-rotate{to{transform:rotate(360deg)}}
@media (max-width:1100px){.container{width:min(100% - 50px,1280px)}.hero-layout{grid-template-columns:minmax(0,1.05fr) minmax(300px,.85fr);gap:35px}.hero h1{font-size:clamp(68px,8.2vw,108px)}.ticket-frame{min-height:310px}.display-case{padding:22px}.route-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.etiquette-inner{grid-template-columns:1fr;gap:24px}.products{grid-template-columns:repeat(2,minmax(0,1fr))}.browse-controls{grid-template-columns:1fr}.search-control{max-width:500px}.footer-inner{grid-template-columns:1fr 1fr}.footer-center{text-align:right}.footer-inner>a{text-align:left}}
@media (max-width:730px){.container{width:min(100% - 36px,1280px)}.awning{height:11px;background:repeating-linear-gradient(90deg,var(--plum) 0 23px,var(--paper) 23px 46px)}.topbar{min-height:72px;gap:12px}.brand-symbol{width:38px;height:38px;font-size:28px}.brand-name{font-size:19px}.brand-note{font-size:7px;margin-top:5px}.nav-links{display:none}.basket-trigger{font-size:12px;padding:8px 9px 8px 11px;gap:7px}.basket-counter{width:24px;height:24px}.hero-layout{grid-template-columns:1fr;gap:55px;padding-block:52px 66px}.eyebrow{margin-bottom:29px;font-size:9px;gap:8px}.hero h1{font-size:clamp(70px,12.6vw,116px);margin-bottom:31px}.hero-intro{font-size:26px}.hero-detail{font-size:14px}.hero-right{max-width:480px;width:min(100% - 16px,480px);margin:0 auto}.ticket-frame{min-height:330px}.ticket-mark{font-size:205px}.display-stamp{right:-16px}.marquee-content{justify-content:start;gap:25px;min-height:52px;font-size:10px}.marquee-content>span:nth-last-child(-n+2){display:none}.section-pad{padding-block:69px 78px}.section-heading{align-items:start}.section-heading h2{font-size:clamp(40px,8vw,61px)}.section-seal,.inventory-seal{display:none}.route-grid{grid-template-columns:1fr;gap:15px}.route-card{min-height:290px}.route-top{margin-bottom:34px}.route-card h3{font-size:38px}.etiquette{padding:46px 0}.etiquette-rules{grid-template-columns:1fr;gap:19px}.etiquette h2{font-size:43px}.products{grid-template-columns:1fr;gap:14px}.product{min-height:266px}.product h3{font-size:36px}.product-top{margin-bottom:20px}.stockline{gap:8px}.stockline span{font-size:9px}.question-dialog-top,.question-dialog-bottom{width:min(100% - 34px,1140px)}.question-dialog-main{width:min(100% - 42px,1040px);padding-block:35px 48px}.question-text{font-size:clamp(37px,8.1vw,63px)}.question-dialog-top{padding-block:17px}.question-dialog-bottom{font-size:9px}.endnote{padding-block:48px}.endnote-symbol{font-size:95px;align-self:start;transform:translateY(12px)}.endnote-star{display:none}.endnote h2{font-size:34px}.footer-inner{grid-template-columns:1fr;gap:16px}.footer-center{text-align:left}}
@media (max-width:420px){.container{width:min(100% - 30px,1280px)}.brand-symbol{width:32px;height:32px;font-size:24px}.brand-name{font-size:16px}.brand-note{font-size:6px}.hero h1{font-size:clamp(59px,14vw,73px)}.hero-actions .button{width:100%}.hero-right{width:calc(100% - 12px)}.display-case{padding:14px;box-shadow:9px 9px 0 var(--plum)}.display-caption{font-size:7px}.ticket-frame{grid-template-columns:30px 1fr;min-height:265px;margin:17px 0}.ticket-stub{font-size:8px}.ticket-face{padding:13px 14px}.ticket-mark{font-size:175px}.ticket-top{font-size:10px}.ticket-bottom strong{font-size:56px}.display-stamp{width:78px;height:78px;font-size:8px}.daily-special{width:100%}.section-heading h2{font-size:40px}.route-card{padding:21px}.browse-controls{gap:19px}.filters{gap:6px}.filter{font-size:11px;padding:8px 10px}.question-dialog-main{width:min(100% - 32px,1040px)}.question-name{font-size:24px}.question-text{font-size:clamp(35px,9.2vw,43px)}.question-dialog-actions{width:100%}.question-dialog-actions .button{flex:1 1 100%}.follow-panel{padding:16px}.follow-panel p:not(.follow-overline){font-size:22px}.question-dialog-bottom{flex-direction:column;gap:6px}.endnote-inner{gap:11px}.endnote-symbol{font-size:78px}.endnote h2{font-size:29px}.finish-box{padding:58px 22px 27px}.finish-actions .button{flex:1 1 100%}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
@media print{@page{size:auto;margin:17mm}html,body{overflow:visible!important;height:auto!important;background:white!important;color:black!important}body>*:not(#printSheet){display:none!important}#printSheet{display:block!important;position:static!important;color:black!important;background:white!important}.print-head{font:700 10pt Arial,sans-serif;letter-spacing:.14em;border-bottom:2px solid #111;padding-bottom:13px}#printSheet h1{font:700 32pt Georgia,serif;letter-spacing:-.04em;margin:20px 0 9px}#printCount{font:11pt Arial,sans-serif;margin:0 0 20px}#printItems{padding-left:24px}#printItems li{font:15pt/1.38 Georgia,serif;padding:0 0 14px 8px;margin:0 0 13px;border-bottom:1px solid #bbb;break-inside:avoid}#printItems li strong{display:block;font:700 9pt Arial,sans-serif;text-transform:uppercase;letter-spacing:.08em;margin-bottom:5px}.print-foot{font:10pt Arial,sans-serif;letter-spacing:.07em;border-top:2px solid #111;padding-top:13px;margin-top:25px}}
/* Named palettes avoid remote images, dependencies, or inline styles. */
.route-card[data-route="dinner"]{--route-bg:#f2dccf;--route-ink:#8b3644;--route-symbol:"✷"}
.route-card[data-route="new"]{--route-bg:#dce8dd;--route-ink:#315a45;--route-symbol:"?"}
.route-card[data-route="walk"]{--route-bg:#e0e6ee;--route-ink:#446383;--route-symbol:"↝"}
.route-card[data-route="friends"]{--route-bg:#f2dfbb;--route-ink:#96602a;--route-symbol:"♥"}
.route-card[data-route="work"]{--route-bg:#e7e7c7;--route-ink:#596b3a;--route-symbol:"✳"}
.route-card[data-route="journal"]{--route-bg:#ecdfeb;--route-ink:#765284;--route-symbol:"☾"}

.footer-links{display:flex;flex-direction:column;align-items:flex-end;gap:7px}.footer-links a{font-weight:900;color:var(--plum);text-underline-offset:3px;text-align:right}.copy-fallback{position:fixed;left:-9999px;top:0;opacity:0}
@media(max-width:1100px){.footer-links{align-items:flex-start}.footer-links a{text-align:left}}
.read-main{max-width:960px;padding-block:80px 100px}.read-main h1{font-size:clamp(54px,7vw,89px);line-height:.94}.read-intro{font:22px/1.4 var(--serif);max-width:700px}.read-nav{border-block:2px solid var(--ink);padding:17px 0;display:flex;gap:13px;flex-wrap:wrap;margin:45px 0 62px}.read-nav a{font-size:12px;color:var(--plum);font-weight:900;text-underline-offset:3px}.read-section{margin:0 0 73px;scroll-margin-top:100px}.read-section h2{font:700 42px/1 var(--serif);margin:0 0 23px}.read-section ol{padding:0;margin:0;list-style:none;display:grid;gap:11px}.read-item{background:var(--light);border:1px solid var(--line);padding:21px 25px}.read-item small{font-size:10px;letter-spacing:.14em;color:var(--plum);font-weight:900}.read-item h3{font:700 28px/1.1 var(--serif);margin:8px 0 7px}.read-item .read-q{font:19px/1.4 var(--serif);margin:0 0 12px}.read-item .read-label{font-size:12px;color:#615157;margin-bottom:10px}.read-item details{border-top:1px solid var(--line);padding-top:11px;font-size:13px}.read-item summary{cursor:pointer;font-weight:900;color:var(--plum)}.read-item details p{font:italic 19px/1.45 var(--serif);margin:12px 0 0}.read-footer{font-size:13px;color:var(--muted);border-top:2px solid var(--ink);padding-top:22px}
@media (max-width:730px){.read-main{padding-block:55px 65px}.read-main h1{font-size:57px}.read-intro{font-size:19px}.read-section h2{font-size:36px}.read-item{padding:17px}.read-item h3{font-size:26px}}
@media print{.read-main{padding-block:0}.read-main h1{font-size:30pt}.read-nav,.site-header,.awning,.site-footer,.read-item details{display:none!important}.read-item{padding:9px 0;border:0;border-bottom:1px solid #bbb;break-inside:avoid}.read-item .read-q{font-size:14pt}.read-section{margin-bottom:20px}.read-section h2{font-size:24pt}}

.read-main h1 em{color:var(--plum);font-weight:400}
@media print{body.read-edition>*:not(#printSheet){display:block!important}body.read-edition>.awning,body.read-edition>.site-header,body.read-edition>.site-footer{display:none!important}}
