/* A calm editorial identity, carried from the references into real layouts. */
.editorial-hero{background:#10303e;color:#f7f3eb;overflow:hidden;isolation:isolate}
.editorial-hero-grid{display:grid;grid-template-columns:minmax(0,.96fr) minmax(0,1.15fr);align-items:center;gap:0;padding-block:62px 66px}
.editorial-hero-copy{position:relative;z-index:1;min-width:0}
.editorial-hero .eyebrow{color:#c7dce2;font-size:.75rem;font-weight:500;letter-spacing:.22em;margin-bottom:28px}
.editorial-hero h1{font:400 clamp(3.5rem,5.5vw,5.4rem)/1.03 var(--serif);letter-spacing:-.045em;color:#f7f3eb;margin:0 0 30px}
.editorial-hero h1>span{color:#efa77f}
.editorial-hero-intro{font-size:clamp(1rem,1.55vw,1.3rem);line-height:1.6;max-width:32ch;color:#c5dbe1;margin:0 0 30px}
.editorial-hero-actions{display:flex;flex-direction:column;align-items:flex-start;gap:15px}
.hero-contact{background:#efa77f;color:#142f3b;border-radius:4px;min-width:255px;min-height:54px;gap:28px;font-size:1rem;font-weight:650}
.hero-contact:hover{background:#f7b68f}
.hero-contact>span:last-child{font-size:1.55rem;font-weight:400;line-height:1}
.hero-explore{min-height:44px;display:inline-flex;align-items:center;font-size:.9375rem;text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1px;color:#f7f3eb}
.hero-visual{position:relative;min-width:0;margin:0 -10% 0 -6%;align-self:center}
.hero-visual img{width:100%;max-width:none;height:auto;-webkit-mask-image:linear-gradient(to right,transparent,#000 12%,#000 90%,transparent),linear-gradient(to bottom,transparent,#000 5%,#000 93%,transparent);mask-image:linear-gradient(to right,transparent,#000 12%,#000 90%,transparent),linear-gradient(to bottom,transparent,#000 5%,#000 93%,transparent);-webkit-mask-composite:source-in;mask-composite:intersect}
.hero-visual figcaption{font-size:.75rem;line-height:1.5;color:#bed0d5;margin:8px 10% 0;text-align:right}
.service-overview{padding-block:78px;background:var(--paper);scroll-margin-top:90px}
.service-layout{display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.25fr);gap:clamp(40px,7vw,104px);align-items:start}
.service-heading{padding-top:12px;max-width:420px}
.service-heading .eyebrow{color:#985a3b;font-weight:600;letter-spacing:.11em;font-size:.875rem;margin:0 0 20px}
.service-heading h2{font:400 clamp(2rem,3.4vw,3.2rem)/1.13 var(--serif);letter-spacing:-.035em;margin:0 0 20px}
.service-heading>p:last-child{font-size:1rem;line-height:1.65;color:var(--muted);max-width:31ch;margin:0}
.service-accordion{min-width:0}
.service-item{border-bottom:1px solid #cfd3c9}
.service-item:first-child{border-top:1px solid #cfd3c9}
.service-item>summary{display:grid;grid-template-columns:32px minmax(0,1fr) 22px;align-items:center;gap:18px;min-height:77px;padding:17px 0;list-style:none;cursor:pointer}
.service-number{color:#985a3b;font:400 .875rem/1.5 var(--sans);font-variant-numeric:tabular-nums}
.service-title{font:400 clamp(1.2rem,1.9vw,1.7rem)/1.3 var(--serif);letter-spacing:-.025em;color:var(--ink)}
.service-plus{position:relative;width:20px;height:20px;justify-self:end}
.service-plus:before,.service-plus:after{content:'';position:absolute;top:9px;left:1px;width:18px;height:1.5px;background:var(--ink)}
.service-plus:after{transform:rotate(90deg);transition:transform .18s}
.service-item[open] .service-plus:after{transform:rotate(0)}
.service-detail{padding:4px 30px 25px 50px;max-width:66ch}
.service-detail h3{font:400 1.45rem/1.3 var(--serif);letter-spacing:-.025em;margin:0 0 12px}
.service-detail p,.service-detail li{font-size:1rem;line-height:1.65;color:var(--muted)}
.service-detail p{margin:0 0 14px}
.service-detail ul{padding-left:20px;margin:0 0 10px}
.service-detail li{padding-left:3px;margin:3px 0}
.service-example{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-size:.9375rem;font-weight:500;text-decoration:underline;text-underline-offset:5px}
.service-example:hover{color:#965c3e}
.portfolio-preview{padding-block:12px 72px}
.portfolio-preview-frame{display:block;border:1px solid #d4d8cf;border-radius:8px;overflow:hidden;background:#fcfaf5}
.portfolio-preview-images{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:#d7dacf}
.portfolio-thumb{height:220px;position:relative;overflow:hidden;background:#e8e0d5}
.portfolio-thumb>img{width:100%;height:100%;object-fit:cover;object-position:top center}
.portfolio-thumb.noah>img{object-position:center 52%}
.portfolio-thumb>span{position:absolute;bottom:14px;left:14px;right:14px;background:#faf8f0ed;color:var(--ink);padding:9px 13px;font-size:.875rem;line-height:1.4;border-radius:2px}
.portfolio-thumb.wise{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:32px;background:#e6ebd5}
.portfolio-thumb.wise>strong{font-size:clamp(2.5rem,4.2vw,4rem);letter-spacing:-.065em;line-height:1.1}
.portfolio-thumb.wise>strong>span{color:#79934a}
.portfolio-thumb.wise>span{position:static;background:transparent;padding:0;margin-top:16px;color:#576743}
.portfolio-preview-copy{padding:34px 36px;display:flex;justify-content:space-between;align-items:center;gap:40px}
.portfolio-preview-copy .eyebrow{font-size:.75rem;letter-spacing:.12em;color:#985a3b;margin:0 0 12px}
.portfolio-preview-copy h2{font:400 clamp(1.8rem,2.8vw,2.6rem)/1.15 var(--serif);letter-spacing:-.03em;margin:0 0 12px}
.portfolio-preview-copy h2 .headline-serif{font-style:normal}
.portfolio-preview-copy p:last-child{font-size:1rem;line-height:1.7;color:var(--muted);margin:0;max-width:49ch}
.portfolio-preview-cta{display:flex;align-items:center;gap:24px;flex-shrink:0;min-height:48px;border-bottom:1px solid #547867;font-size:.9375rem;font-weight:600}
.portfolio-preview-cta>span:last-child{font-size:1.4rem}
.portfolio-preview-frame:hover .portfolio-preview-cta{color:#985a3b;border-color:#985a3b}
.portfolio-page{padding-top:32px}
.portfolio-page h1{font:400 clamp(2.5rem,4.6vw,4rem)/1.12 var(--serif)}
.portfolio-page .section-heading{margin-bottom:38px}
.portfolio-page .project-description{min-height:0}
.portfolio-page .project-card{border-radius:8px}
.portfolio-page .project-card h3{font:400 1.6rem/1.25 var(--serif)}
.standalone-back{padding-top:22px}
.standalone-back .page-back{margin:0;min-height:36px}
.demo-closing{padding-block:28px 48px}
.possibilities-section{padding-block:36px 54px;background:var(--paper);scroll-margin-top:92px}
.possibilities-heading{margin-bottom:28px}
.possibilities-heading h1{font:400 clamp(2.2rem,3.8vw,3.8rem)/1.13 var(--serif);letter-spacing:-.035em;margin:0 0 12px}
.possibilities-heading>p{font-size:1.05rem;color:var(--muted);line-height:1.6;margin:0}
.demo-lab{--butcher:#193c34;--butcher-dark:#122f29;--cream:#f7f4ec;display:grid;grid-template-columns:215px minmax(0,1fr);gap:38px;align-items:start}
.demo-navigation{padding-right:22px;border-right:1px solid var(--line);align-self:stretch}
.demo-tabs{display:flex;flex-direction:column;gap:10px}
.demo-tab{display:flex;align-items:center;gap:15px;width:100%;min-height:67px;padding:16px 15px;border:1px solid transparent;border-radius:5px;background:transparent;text-align:left;font:400 1.08rem/1.35 var(--serif)}
.demo-tab>svg,.basket-shortcut>svg,.inbox-symbol>svg,.inline-edit-label>svg{width:23px;height:23px;stroke:currentColor;stroke-width:1.4;fill:none;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.demo-tab:hover{background:#e9ebe3}
.demo-tab[aria-selected="true"]{background:var(--ink);color:#f7f4ec}
.demo-nav-label{font-size:.875rem;font-weight:600;line-height:1.4;color:var(--ink);margin:0 0 12px}.demo-navigation{scroll-margin-top:82px}

.demo-panels,.demo-panel{min-width:0}
.demo-panel{scroll-margin-top:100px}
.demo-panel:focus-visible{outline:2px solid #638137;outline-offset:8px}
.demo-panel-heading{margin:0 0 26px;padding-bottom:22px;border-bottom:1px solid var(--line)}
.demo-panel-heading h3{font:400 clamp(1.6rem,2.6vw,2.35rem)/1.2 var(--serif);letter-spacing:-.025em;margin:0 0 10px}
.demo-panel-heading>p{font-size:1rem;line-height:1.65;color:var(--muted);margin:0;max-width:62ch}
.demo-caption{font-size:.875rem;line-height:1.65;color:var(--muted);max-width:80ch;margin:18px 0 0}
.compare-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:0 0 16px}
.compare-actions>span{font-size:1rem;font-weight:600;line-height:1.4;color:#563522;background:#f8ddc9;padding:10px 15px;border-radius:5px;text-align:center}
.compare-view{font-size:.875rem;font-weight:500;min-height:42px;padding:8px 24px;border:1px solid #d7dbd1;border-radius:30px;background:transparent}
.compare-view:hover{background:#e8eae2}
.compare-view[aria-pressed="true"]{background:var(--ink);color:#fff;border-color:var(--ink)}
.sample-frame-label{font-size:.75rem;letter-spacing:.025em;background:#e9eae2;border:1px solid #cfd5c9;border-bottom:0;border-radius:7px 7px 0 0;padding:9px 16px;color:#626c63}
.comparison{position:relative;isolation:isolate;overflow:hidden;border:1px solid #cfd5c9;border-radius:0 0 7px 7px;background:var(--cream);user-select:none;touch-action:pan-y pinch-zoom}
.compare-visual{display:grid;position:relative}
.sample-site{position:relative;grid-area:1/1;min-width:0;overflow:hidden}
.compare-divider{position:absolute;z-index:3;left:var(--split);top:0;bottom:0;width:3px;background:#efa77f;box-shadow:0 0 0 1px #56352244;transform:translateX(-50%);pointer-events:none}
.compare-handle{position:absolute;z-index:4;left:var(--handle-position,50%);top:clamp(120px,24%,240px);transform:translate(-50%,-50%);display:grid;place-items:center;width:56px;height:56px;padding:0;border:3px solid #fff6eb;border-radius:50%;background:#efa77f;color:#142f3b;box-shadow:0 3px 18px #142f3b44;cursor:ew-resize;touch-action:none;user-select:none;-webkit-user-select:none}
.compare-handle>span{font:500 1.9rem/1 var(--sans);white-space:pre;pointer-events:none;padding-bottom:3px}
.compare-handle[data-dragging="true"]{cursor:grabbing;background:#ffc5a0}
.compare-handle:focus-visible{outline:3px solid #142f3b;outline-offset:4px}

.sample-after{overflow:visible;align-self:stretch}
.butcher-nav{padding:22px 26px;min-height:76px}
.butcher-nav>span:last-child:not(.butcher-brand){font-size:.875rem;text-align:right}
.butcher-hero{flex:none;grid-template-rows:auto;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);min-height:350px}
.butcher-copy{padding:30px 26px}
.butcher-copy h4{font-size:clamp(2rem,3.2vw,3.25rem);line-height:1.1;margin-bottom:20px}
.butcher-intro{font-size:1rem;line-height:1.65;margin-bottom:24px}
.butcher-photo img{height:100%;min-height:100%;object-position:52% center}
.counter-section{padding:28px 26px 32px;border-top:1px solid #dacabb}
.counter-heading{display:flex;justify-content:space-between;align-items:baseline;gap:18px;margin-bottom:20px}
.counter-heading h4{font:400 1.6rem/1.25 Georgia,serif;letter-spacing:-.03em;margin:0}
.counter-heading>span{font-size:.875rem;line-height:1.4;text-align:right;color:#74565c}
.counter-products{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.counter-product{min-width:0}
.counter-product img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:3px;margin-bottom:12px;display:block}
.counter-product h5{font-size:1rem;font-weight:600;line-height:1.4;letter-spacing:-.02em;margin:0 0 8px}
.counter-product>div{display:flex;flex-wrap:wrap;gap:6px 12px;justify-content:space-between;font-size:.875rem;line-height:1.5;color:#765e5e}
.counter-product strong{color:var(--butcher);white-space:nowrap}
.butcher-visit{display:flex;justify-content:space-between;align-items:center;gap:22px;background:var(--butcher);color:var(--cream);padding:25px 26px;margin-top:auto}
.butcher-visit>div{display:flex;flex-direction:column;gap:7px;max-width:36ch}
.butcher-visit strong{font-family:Georgia,serif;font-size:1.25rem;font-weight:400;line-height:1.35}
.butcher-visit span{font-size:.875rem;line-height:1.6}
.butcher-visit>span{flex-shrink:0}
.sample-before{padding:22px;display:flex;flex-direction:column;background:#e5e2da;color:#3e3b34;text-align:left}
.old-brand{text-align:center;font-size:1.7rem;padding:18px 10px;background:linear-gradient(#c9c5b6,#e5dfca);border-color:#8e8878}
.old-nav{text-align:center;font-size:.875rem;line-height:1.7;color:#414f7d;padding:12px 6px}
.old-layout{display:grid;grid-template-columns:140px minmax(0,1fr);gap:20px;margin-top:24px;flex:1}
.old-sidebar{overflow-wrap:anywhere;background:#d3d0c3;border:1px solid #a5a08e;padding:18px 12px;font-size:.875rem;line-height:1.6;align-self:start}
.old-sidebar>strong{display:block;background:#b5b49f;border-bottom:1px solid #8e8c7a;padding:4px;margin-bottom:14px}
.old-sidebar>p{font-size:.875rem;line-height:1.95;margin:0 0 20px;color:#394c80;text-decoration:underline}
.old-order{border:2px outset #e9e7dc;background:#c6c7c0;padding:12px 8px;margin-bottom:22px;text-align:center}
.old-main{min-width:0}
.sample-before h4{margin:0 0 18px;font-size:1.5rem;text-align:center}
.old-welcome{display:flow-root;margin-bottom:24px}
.sample-before .old-welcome>img{float:left;width:42%;aspect-ratio:4/3;margin:0 14px 8px 0;filter:sepia(.4) saturate(.35) contrast(.7) brightness(1.15) blur(.45px);border:5px ridge #eae9e0}
.sample-before .old-welcome>p{font-size:1rem;line-height:1.6;margin:0}
.old-specials{font-weight:700;text-align:center;background:#cbccbc;color:#4b5141;border:1px solid #aeb09d;padding:9px 8px;font-size:.875rem;margin-bottom:10px}
.old-product{display:grid;grid-template-columns:88px minmax(0,1fr);align-items:center;gap:12px;padding:12px 8px;border:1px solid #b5b2a6;border-bottom:0;background:#eae8df}
.old-product:last-child{border-bottom:1px solid #b5b2a6}
.sample-before .old-product img{margin:0;width:88px;aspect-ratio:4/3;border:3px ridge #d6d5cb;filter:sepia(.4) saturate(.3) contrast(.68) brightness(1.2) blur(.5px)}
.old-product>div{display:flex;flex-direction:column;align-items:flex-start;gap:5px;font-size:.875rem;line-height:1.35}
.old-product .old-link{font-size:.875rem;color:#314d8a;text-decoration:underline;border:2px outset #deded4;background:#d4d5ce;padding:4px 6px}
.sample-before .old-notice{font-size:.875rem;line-height:1.6;margin:18px 0}
.old-footer{border-top:1px solid #aaa595;text-align:center;font-size:.875rem;padding:14px 0 0;margin-top:24px;color:#635f53}



.shop-surface{background:#fffdf9;border:1px solid #e1dcd2;border-radius:8px;box-shadow:0 14px 32px #193c3408}
.shop-toolbar{position:sticky;top:100px;z-index:8;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 24px 14px;background:#fffdf9;border-bottom:1px solid #e5dfd4;border-radius:8px 8px 0 0}
.shop-toolbar .butcher-brand{font-size:1.15rem}
#cart-feedback{min-height:1.5em;font-size:.75rem;line-height:1.5;margin:8px 0 0;color:#746858}
#cart-feedback[data-added="true"]{color:var(--ink);font-weight:600}
.basket-shortcut{display:flex;align-items:center;gap:8px;flex-shrink:0;min-height:48px;background:var(--cream);border:1px solid #e3d8c8;border-radius:5px;padding:9px 12px;color:var(--butcher);font-size:.875rem}
.basket-shortcut>svg{width:20px;height:20px}
#cart-mini-count{display:grid;place-items:center;min-width:22px;height:24px;font-weight:650}
#cart-mini-total{font-weight:650;border-left:1px solid #dbcab8;padding-left:10px;font-variant-numeric:tabular-nums}
.shop-demo-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(270px,1fr);align-items:start}
.demo-products{padding:8px 24px;min-width:0}
.demo-product{display:grid;grid-template-columns:100px minmax(0,1fr);gap:18px;padding:22px 0;border-bottom:1px solid #e9e2d7;align-items:start}
.demo-product:last-child{border:0}
.demo-product>img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:4px}
.product-info{min-width:0}
.product-info h4{font-size:1rem;line-height:1.4;font-weight:650;letter-spacing:-.02em;margin:0 0 5px;color:var(--butcher-dark)}
.product-info p{font-size:.875rem;color:#766d62;line-height:1.4;margin:0 0 10px}
.product-info>strong{display:block;font-size:1rem;font-weight:600;color:var(--butcher-dark);margin-bottom:12px}
.demo-add{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:44px;min-width:145px;padding:10px 12px;border:1px solid var(--butcher);border-radius:4px;background:var(--butcher);color:white;font-size:.875rem;font-weight:600;line-height:1.4;transition:background .18s,border-color .18s}
.demo-add:hover{background:var(--butcher-dark);border-color:var(--butcher-dark)}
.demo-add .add-icon{font-size:1.15rem;line-height:1;min-width:18px;text-align:center}
.demo-add.is-added{background:var(--ink);border-color:var(--ink)}
.demo-add.is-added .add-icon{animation:added-check .32s ease-out}
@keyframes added-check{0%{transform:scale(.45);opacity:.3}65%{transform:scale(1.25)}100%{transform:scale(1);opacity:1}}
.demo-basket{padding:26px 22px;border-left:1px solid #e5dfd4;min-width:0;scroll-margin-top:110px}
.basket-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}
.basket-heading h4{font-size:1.125rem;font-weight:650;line-height:1.4;margin:0}
#basket-count{min-width:28px;height:28px;border-radius:50%;background:#f0eee4;display:grid;place-items:center;font-size:.875rem}
.basket-empty{font-size:1rem;color:var(--muted);padding:12px 0;margin:0}
.basket-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 0;border-bottom:1px solid #e6e3d9}
.basket-item-description{min-width:0;display:flex;flex-direction:column;gap:5px;font-size:.875rem;line-height:1.4}
.basket-item-description strong{font-weight:600;overflow-wrap:anywhere}
.basket-item-description>span{color:var(--muted)}
.quantity-control{display:flex;align-items:center;gap:2px;flex-shrink:0}
.quantity-control button{width:36px;height:44px;padding:0;background:#fff;border:1px solid #deddd4;border-radius:3px;font-size:1.15rem}
.quantity-control button:hover{background:#f1f2e8}
.quantity-value{min-width:20px;text-align:center;font-size:.875rem;font-variant-numeric:tabular-nums}
.demo-lab button:disabled{opacity:.5;cursor:default}
.demo-delivery{border:0;padding:0;margin:24px 0 18px;min-width:0}
.demo-delivery legend{padding:0;margin-bottom:8px;font-size:.875rem;font-weight:650;line-height:1.5}
.demo-delivery label{display:flex;align-items:center;gap:10px;min-height:44px;font-size:.875rem;line-height:1.5;cursor:pointer}
.demo-delivery input,.editor-toggle input{accent-color:var(--ink);width:18px;height:18px;margin:0;flex-shrink:0}
.basket-total{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:18px 0;border-top:1px solid #e6e3d9;font-size:1rem}
.basket-total strong{font-variant-numeric:tabular-nums}
.demo-order{width:100%;font-size:.875rem;padding-inline:12px;background:var(--butcher)}
.demo-order:hover{background:var(--butcher-dark)}
.demo-reset{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:6px 0;border:0;background:transparent;font-size:.875rem;font-weight:500;text-decoration:underline;text-underline-offset:4px;margin-top:8px}
.demo-reset:hover{color:#557a37}
.demo-result{font-size:.9375rem;line-height:1.6;padding:18px;border:1px solid #ccd5bd;background:#f1f5e9;border-radius:4px;margin-top:16px}
.demo-result p{margin:8px 0 0}
.demo-result:focus-visible,#sample-email:focus-visible,#basket-title:focus-visible{outline:2px solid #72914e;outline-offset:5px}
.enquiry-demo-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;align-items:start}
.sample-form{padding:28px;background:#fffdf9;border-top:4px solid var(--butcher);border-radius:4px;box-shadow:0 8px 30px #193c3409;min-width:0}
.sample-business{margin-bottom:24px}
.sample-business .butcher-brand{font-size:1.2rem}
.sample-form h4{font-size:1.25rem;font-weight:600;line-height:1.4;letter-spacing:-.025em;margin:0 0 24px}
.sample-form .field textarea{min-height:115px}
.sample-form .button{background:var(--butcher);width:100%;font-size:.9375rem;justify-content:space-between;gap:12px}
.sample-form .button:hover{background:var(--butcher-dark)}
.sample-form .button.is-complete{background:var(--ink)}
.sample-appointment{display:grid;grid-template-columns:minmax(0,1fr);gap:0}
.sample-confirmation{font-size:.875rem;line-height:1.6;color:var(--ink);margin:18px 0 0}
.sample-form .demo-reset{margin:8px 0 0}
.sample-inbox{background:#fff;border:1px solid var(--line);border-radius:6px;padding:28px;min-height:340px;min-width:0}
.inbox-top{display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--line);padding-bottom:20px;margin-bottom:26px}
.inbox-top h4{font-size:1rem;font-weight:650;margin:0}
.inbox-symbol{display:flex;align-items:center;color:var(--ink)}
#sample-inbox-empty>p:first-child{font-size:1.25rem;line-height:1.45;letter-spacing:-.02em;margin:0 0 18px;color:#3f5046}
.inbox-hint{font-size:.9375rem;line-height:1.7;color:var(--muted);margin:0}
.mail-meta{font-size:.8125rem;color:var(--muted);margin:0 0 16px}
#sample-subject{font-size:1.2rem;font-weight:650;line-height:1.4;margin:0 0 18px;color:var(--ink)}
#sample-body{white-space:pre-wrap;overflow-wrap:anywhere;font-size:1rem;line-height:1.7;margin-bottom:0}
#sample-details{font-size:.875rem;line-height:1.6;color:var(--muted);margin:0 0 18px}
.mail-reply{border-top:1px solid var(--line);padding-top:20px;margin-top:28px;font-size:.875rem;color:var(--muted)}
.sample-inbox.is-received{border-color:#a2b58b;box-shadow:0 10px 30px #193c3410}
.sample-inbox.is-received #sample-email{animation:mail-arrives .28s ease-out}
@keyframes mail-arrives{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.editor-tools{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:22px;flex-wrap:wrap}
.editor-colours,.editor-photos{margin:0;padding:0;border:0;min-width:0}
.editor-tools legend{font-size:.875rem;font-weight:600;line-height:1.5;padding:0;margin-bottom:12px}
.colour-options,.photo-options{display:flex;align-items:center;gap:10px}
.colour-choice,.photo-choice{position:relative;display:flex;align-items:center;justify-content:center;cursor:pointer}
.colour-choice{width:44px;height:52px}
.colour-choice>input,.photo-choice>input{position:absolute;opacity:0;width:100%;height:100%;inset:0;margin:0;cursor:pointer;z-index:1}
.colour-dot{display:block;width:30px;height:30px;border-radius:50%;background:var(--choice);border:3px solid #fff;box-shadow:0 0 0 1px #c7ccc1}
.colour-wine{--choice:#702d39}.colour-forest{--choice:#193c34}.colour-ink{--choice:#244868}
.colour-choice:has(input:checked) .colour-dot{box-shadow:0 0 0 2px #354d3b}
.colour-choice:focus-within .colour-dot,.photo-choice:focus-within{outline:3px solid #638137;outline-offset:4px}
.photo-choice{width:68px;height:52px;border-radius:4px;border:2px solid transparent;padding:2px;background:#fff}
.photo-choice img{width:100%;height:100%;object-fit:cover;border-radius:2px}
.photo-choice:has(input:checked){border-color:var(--ink)}
.live-editor{--edit-ink:#702d39;background:var(--cream);border:1px solid #e7dbca;border-radius:8px;overflow:hidden;box-shadow:0 18px 42px #193c340d}
.live-editor[data-colour="forest"]{--edit-ink:#193c34}
.live-editor[data-colour="ink"]{--edit-ink:#244868}
.live-brand{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:22px 28px;border-bottom:1px solid #dacbbb}
.live-indicator{font-size:.75rem;letter-spacing:.055em;color:#775b61;line-height:1.5;text-align:right}
.live-editor-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:390px}
.live-content{padding:30px;min-width:0;display:flex;flex-direction:column;align-items:stretch;justify-content:center}
.inline-edit-label{display:flex;align-items:center;gap:7px;font-size:.875rem;line-height:1.5;color:#866c69;margin-bottom:12px}
.inline-edit-label>svg{width:14px;height:14px}
.live-content textarea{width:100%;padding:4px 0 8px;margin:0 0 18px;border:0;border-bottom:1px dashed #c6b3a6;border-radius:0;resize:none;background:transparent;overflow:hidden;box-shadow:none;field-sizing:content}
.live-content textarea:hover{border-bottom-color:var(--edit-ink)}
.live-content textarea:focus-visible{outline:2px solid var(--edit-ink);outline-offset:4px;border-color:transparent}
.live-content .live-heading{color:var(--edit-ink);font:400 clamp(2rem,3.2vw,3rem)/1.13 Georgia,'Times New Roman',serif;letter-spacing:-.025em;min-height:2.4em}
.live-content .live-intro{color:#6b5c57;font-size:1rem;line-height:1.6;min-height:3.2em}
.live-button{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px 16px;background:var(--edit-ink);border-radius:3px;max-width:280px;color:white}
.live-button>input{background:transparent;border:0;border-bottom:1px dashed #ffffff6b;border-radius:0;color:inherit;width:100%;min-width:0;font-size:.875rem;line-height:1.6;padding:0;outline-color:#fff}
.live-button>span{font-size:1.3rem;line-height:1;pointer-events:none}
.live-photo{min-width:0;min-height:0}
.live-photo img{height:100%;width:100%;object-fit:cover}
.editor-bottom{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:14px;flex-wrap:wrap}
.editor-toggle{display:flex;align-items:center;gap:10px;min-height:44px;font-size:.875rem;cursor:pointer}
.editor-bottom .demo-reset{margin:0}

/* Per-element styling, with selection and a fixed preview background. */
.editor-inspector{padding:22px;background:var(--blue-light);border:1px solid #cfdde5;border-radius:6px;margin-bottom:20px}
.inspector-top{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-bottom:18px;margin-bottom:18px;border-bottom:1px solid #c9d5db}
.inspector-top>strong{font-size:1rem;font-weight:600}
.editor-inspector select{min-height:44px;background:#fff;border:1px solid #bccdd6;border-radius:4px;font:inherit;font-size:.875rem;padding:8px 12px;color:var(--ink);min-width:0;max-width:100%}
.inspector-top>select{width:190px}
.inspector-fields{display:grid;grid-template-columns:1.1fr .65fr 1.3fr .85fr;gap:18px;align-items:end}
.inspector-fields>label{display:flex;flex-direction:column;gap:9px;font-size:.875rem;min-width:0}
.inspector-fields input[type="color"]{height:44px;width:100%;min-width:44px;padding:5px;background:white;border:1px solid #bccdd6;border-radius:4px;cursor:pointer}
.size-control>span{display:flex;justify-content:space-between;gap:10px;align-items:center}
.size-control output{font-size:.8125rem;white-space:nowrap}
.inspector-hint{font-size:.875rem;color:#4e6878;margin:16px 0 0;line-height:1.6}
.demo-lab input[type="range"]{width:100%;height:44px;accent-color:var(--butcher);cursor:pointer;margin:0}
.editor-tools{margin:0 0 20px}
.live-content [data-selected="true"]{outline:2px solid #7e9ea4;outline-offset:5px}
.live-content textarea{overflow-wrap:anywhere}
.live-content .live-button{background:#702d39}
.live-content .live-button>textarea{background:transparent;border:0;border-bottom:1px dashed #ffffff6b;border-radius:0;color:inherit;width:100%;min-width:0;min-height:0;font-size:.875rem;line-height:1.6;padding:0;margin:0;outline-color:#fff;resize:none;overflow:hidden}
.live-content .live-button>textarea[data-selected="true"]{outline-color:#fff}
.editor-photos legend{font-size:.875rem;font-weight:600;margin-bottom:8px}
.range-ends{display:flex;justify-content:space-between;font-size:.875rem;color:var(--muted);margin-top:-4px}
.sample-quote{padding:18px;background:#f2eddf;border-radius:4px;margin-bottom:24px}
.sample-quote>label{display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:.875rem;font-weight:600}
.sample-quote output{font-size:1.25rem;color:var(--butcher)}
.guide-surface{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);border:1px solid #e0d6c7;background:#fffcf6;border-radius:8px;overflow:hidden}
.guide-controls{padding:32px 28px;min-width:0}
.guide-controls h4{font:400 1.75rem/1.2 Georgia,serif;color:var(--butcher);letter-spacing:-.025em;margin:30px 0 22px}
.guide-occasions{border:0;padding:0;margin:0 0 28px;display:flex;flex-direction:column;gap:10px}
.guide-occasions>label{display:flex;align-items:center;gap:12px;min-height:48px;border:1px solid #d9cebd;border-radius:4px;padding:12px 14px;font-size:.9375rem;line-height:1.4;cursor:pointer}
.guide-occasions>label:has(input:checked){border-color:var(--butcher);background:#f3e5dc;color:var(--butcher)}
.guide-occasions input{accent-color:var(--butcher);width:18px;height:18px;flex-shrink:0;margin:0}
.guide-guest-label{display:flex;justify-content:space-between;align-items:center;font-size:.9375rem;font-weight:600;gap:12px}
.guide-guest-label output{font-size:1.8rem;color:var(--butcher);font-weight:400}
.guide-explain{font-size:1rem;line-height:1.7;color:#75675b;margin:26px 0 0}
.guide-result{background:#f0e4d3;min-width:0;display:flex;flex-direction:column}
.guide-result>img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.guide-result-copy{padding:26px;display:flex;flex-direction:column;flex:1}
.guide-result-copy .eyebrow{font-size:.75rem;letter-spacing:.1em;color:var(--clay);margin:0 0 16px}
.guide-result-copy h4{font:400 2rem/1.2 Georgia,serif;color:var(--butcher);letter-spacing:-.03em;margin:0 0 14px}
#guide-description{font-size:1rem;line-height:1.65;margin:0 0 24px;color:#695749}
.guide-total{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;align-items:baseline;margin-top:auto;padding-top:20px;border-top:1px solid #d4c0a9;font-size:.875rem}
.guide-total strong{font-size:1.5rem;color:var(--butcher);font-weight:600}

/* Refined shop surfaces, with functional controls kept at usable sizes. */
.butcher-brand{display:inline-block;font:400 1rem/1.25 var(--serif);letter-spacing:.14em;color:var(--ink);white-space:nowrap}
.butcher-brand i{font-style:normal}
.sample-after{display:flex;flex-direction:column;background:var(--cream);color:var(--ink);z-index:0;isolation:isolate;clip-path:inset(0 0 0 var(--split))}
.butcher-nav{display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid #e1e1d6;padding:22px 28px;min-height:72px}
.butcher-nav>span:last-child{font-size:.8125rem;line-height:1.4;color:#45564d;max-width:none}
.butcher-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:340px;flex:none}
.butcher-copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;min-width:0;padding:30px}
.butcher-kicker{font-size:.75rem;font-weight:500;letter-spacing:.12em;line-height:1.5;margin:0 0 18px;color:#617166}
.butcher-copy h4{font:400 clamp(2rem,3.1vw,3.3rem)/1.06 var(--serif);letter-spacing:-.04em;margin:0 0 20px;color:var(--ink)}
.butcher-copy h4 em{font-style:normal}
.butcher-intro{font:400 1.1rem/1.55 var(--serif);color:#637066;margin:0 0 24px;max-width:28ch}
.butcher-action{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:12px 18px;border-radius:4px;background:#985a3b;color:#fffaf1;font-size:.875rem;line-height:1.5}
.butcher-photo{position:relative;min-width:0;min-height:0}
.butcher-photo>img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}
.butcher-photo:before{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,var(--cream),transparent 22%);pointer-events:none}
.counter-section{padding:28px 30px 30px;border-top:1px solid #dddcd0}
.counter-heading h4{color:var(--ink)}
.counter-heading>span{font-size:.8125rem;color:#657267}
.counter-product h5{font:400 1.15rem/1.3 var(--serif)}
.counter-product>div{color:#657267;font-size:.8125rem}
.counter-product>div strong{color:var(--ink);font-size:.9375rem}
.butcher-visit{background:#e8ece1;color:var(--ink);padding:24px 30px}
.sample-before{clip-path:inset(0 calc(100% - var(--split)) 0 0);font-family:Arial,sans-serif;z-index:1;isolation:isolate;opacity:1}
.old-brand{font-family:Georgia,serif}
.shop-surface{background:transparent;border:0;border-radius:0;box-shadow:none}
.shop-toolbar{top:82px;padding:0 0 20px;border-radius:0;border-bottom:0;gap:18px;background:var(--paper);align-items:flex-start}
.shop-toolbar .butcher-brand{font-size:.8125rem;font-family:var(--sans);font-weight:500;letter-spacing:.11em;line-height:1.5}
#cart-feedback{font-size:.8125rem;margin-top:6px;color:#647267}
.basket-shortcut{background:#eff0e7;border-color:#d5dccf;border-radius:30px;min-height:44px;padding:8px 12px;gap:6px;color:var(--ink)}
.shop-demo-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(270px,1fr);gap:24px;align-items:start}
.demo-products{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;padding:0;min-width:0}
.demo-product{display:flex;flex-direction:column;gap:0;padding:0;border:1px solid #d8ddd3!important;border-radius:7px;background:#fffdf8;overflow:hidden;min-width:0}
.demo-product>img{width:100%;aspect-ratio:1.12;object-fit:cover;border-radius:0}
.product-info{padding:18px 16px;display:flex;flex-direction:column;align-items:stretch;flex:1}
.product-info h4{font:400 1.25rem/1.25 var(--serif);color:var(--ink);margin:0 0 6px;min-height:2.5em}
.product-info>p{font-size:.875rem;line-height:1.5;margin:0 0 18px;color:var(--muted)}
.product-info>strong{font:400 1.4rem/1.25 var(--serif);color:var(--ink);margin:auto 0 16px}
.demo-add{border-radius:4px;min-width:0;min-height:44px;width:100%;font-size:.8125rem;padding:11px 12px;gap:8px;font-weight:500}
.demo-add.is-added{background:#37674c;border-color:#37674c}
.demo-product:last-child{grid-column:1/-1;display:grid;grid-template-columns:130px minmax(0,1fr)}
.demo-product:last-child>img{height:100%;aspect-ratio:auto}
.demo-product:last-child .product-info{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:7px 18px;padding:18px}
.demo-product:last-child h4{min-height:0;margin:0}
.demo-product:last-child .product-info>p{grid-column:1;grid-row:2;margin:0}
.demo-product:last-child .product-info>strong{grid-column:2;grid-row:1;margin:0;text-align:right}
.demo-product:last-child .demo-add{grid-column:2;grid-row:2/4;align-self:end;width:auto;min-width:135px}
.demo-basket{border:1px solid #d8ddd3;border-radius:7px;padding:24px 20px;background:#fffdf8;scroll-margin-top:160px}
.basket-heading{padding-bottom:16px;margin-bottom:12px;border-bottom:1px solid var(--line)}
.basket-heading h4{font:400 1.65rem/1.2 var(--serif)}
.basket-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:15px 0}
.basket-item-description{font-size:.875rem;line-height:1.45}
.quantity-control{gap:1px}
.quantity-control button{width:30px;min-height:40px;height:40px;font-size:1rem;border-radius:0;background:#fffdf8}
.quantity-value{min-width:18px}
.demo-delivery{margin:22px 0 16px}
.demo-delivery label{font-size:.875rem;min-height:40px}
.basket-total{padding:18px 0;font-family:var(--serif);font-size:1.4rem}
.basket-total strong{font-weight:400}
.demo-order{background:#985a3b;font-weight:500;font-size:.875rem;min-height:46px;padding:12px}
.demo-order:hover{background:#91583e}
.demo-result{font-size:.875rem;background:#edf1e5;border-color:#d0dcc6;padding:16px}
.demo-reset{font-size:.8125rem}
.sample-form,.sample-inbox{background:#fffdf8;border:1px solid #d8ddd3;border-radius:6px;box-shadow:none;padding:26px}
.sample-form{border-top:3px solid #985a3b}
.sample-form h4,.sample-inbox h4{font-family:var(--serif);font-weight:400}
.sample-form h4{font-size:1.5rem;margin-bottom:22px}
.sample-form .button{font-size:.9375rem;font-weight:500}
.sample-business .butcher-brand{font-size:.875rem}
.sample-quote{background:#f0eee4;padding:16px}
.sample-quote>label{font-size:.875rem}
.sample-quote output{font-size:1.25rem}
.inbox-top h4{font-size:1.45rem}
#sample-inbox-empty>p:first-child{font-family:var(--serif);font-size:1.4rem}
#sample-subject{font-size:1.5rem}
.sample-inbox.is-received{box-shadow:none}
.editor-inspector{background:#eceee5;border-color:#d6ddcf;padding:20px}
.inspector-top{border-bottom-color:#d2dacb}
.editor-inspector select,.inspector-fields input[type="color"]{border-color:#cad2c4;background:#fffdf8}
.inspector-fields{grid-template-columns:1.1fr .65fr 1.3fr .85fr;gap:16px}
.inspector-hint{color:#647264}
.live-editor{--edit-ink:#193c34;border-color:#d5dccc;border-radius:6px;background:var(--cream);box-shadow:none}
.live-brand{padding:20px 24px;border-bottom-color:#d6decb}
.live-brand .butcher-brand{font-size:.875rem}
.live-indicator{font-size:.75rem;color:#687663}
.live-content{padding:28px}
.live-content .live-button{background:var(--ink)}
.inline-edit-label{font-size:.8125rem;color:#6c7867}
.live-editor-body{min-height:340px}
.photo-choice{width:64px;height:48px}
.editor-photos legend,.editor-toggle{font-size:.875rem}
.guide-surface{border-color:#d5dccb;background:#fffdf8;border-radius:6px}
.guide-controls{padding:28px}
.guide-controls h4{font-size:1.7rem;color:var(--ink)}
.guide-occasions>label{border-color:#d1d8c8;min-height:44px;font-size:.875rem}
.guide-occasions>label:has(input:checked){background:#e9eee0}
.guide-result{background:#ede9dc}
.guide-result-copy{padding:26px}
.guide-result-copy h4{font-size:1.9rem}
.guide-total{border-top-color:#d3d7c7}
.guide-total strong{font-family:var(--serif);font-weight:400}
@media(max-width:1200px){
 .demo-lab{grid-template-columns:190px minmax(0,1fr);gap:26px}
 .demo-navigation{padding-right:18px}
 .demo-tab{padding:14px 10px;font-size:1rem;gap:12px;min-height:62px}
 .shop-demo-grid{gap:18px;grid-template-columns:minmax(0,1.4fr) minmax(245px,1fr)}
 .demo-products{gap:14px}
 .product-info{padding:16px 12px}
 .product-info h4{font-size:1.15rem}
 .demo-product:last-child{grid-template-columns:100px minmax(0,1fr)}
 .demo-product:last-child .product-info{display:flex;align-items:flex-start;gap:6px;padding:14px}
 .demo-product:last-child .product-info>strong{margin:4px 0}
 .demo-product:last-child .demo-add{align-self:stretch;width:100%;min-width:0}
 .demo-basket{padding:22px 16px}
 .butcher-copy{padding:26px}
 .butcher-copy h4{font-size:2.25rem}
 .butcher-nav{padding:20px 24px}
 .butcher-nav>span:last-child{max-width:20ch;text-align:right}
 .enquiry-demo-grid{grid-template-columns:minmax(0,1fr)}
 .sample-inbox{min-height:0}
 .sample-appointment{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
 .sample-form .button{width:auto;min-width:230px}
 .inspector-fields{grid-template-columns:1fr 1fr}
 .inspector-fields>label.size-control{grid-column:1/-1;grid-row:2}
 .inspector-fields>label:last-child{grid-column:1/-1;flex-direction:row;align-items:center}
 .portfolio-preview-copy{gap:28px}
 .portfolio-preview-cta{flex-shrink:1;max-width:24ch}
 .old-layout{grid-template-columns:110px minmax(0,1fr);gap:14px}
}
@media(max-width:960px){
 .editorial-hero-grid{padding-block:50px;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr)}
 .editorial-hero h1{font-size:clamp(2.8rem,5.6vw,3.5rem)}
 .editorial-hero .eyebrow{letter-spacing:.14em;font-size:.6875rem}
 .editorial-hero-intro{font-size:1rem}
 .hero-contact{min-width:235px;font-size:.9375rem;min-height:50px}
 .hero-visual{margin-inline:-9% -12%}
 .service-layout{grid-template-columns:minmax(0,.75fr) minmax(0,1.1fr);gap:32px}
 .service-heading h2{font-size:2.25rem}
 .service-title{font-size:1.35rem}
 .service-item>summary{gap:12px;grid-template-columns:26px minmax(0,1fr) 20px;min-height:70px}
 .service-detail{padding-left:38px;padding-right:20px}
 .service-detail h3{font-size:1.3rem}
 .demo-lab{grid-template-columns:minmax(0,1fr);gap:28px}
 .demo-navigation{padding:0 0 20px;border-right:0;border-bottom:1px solid var(--line)}
 .demo-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px}
 .demo-tab{flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:8px;font-size:.9375rem;min-height:78px;padding:12px}
 .demo-tab svg{width:20px;height:20px}

 .shop-toolbar{top:72px}
 .shop-demo-grid{grid-template-columns:minmax(0,1.5fr) minmax(255px,1fr);gap:20px}
 .demo-product:last-child .product-info{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 12px}
 .demo-product:last-child .demo-add{width:auto}
 .enquiry-demo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
 .sample-form .button{width:100%;min-width:0}
 .sample-form,.sample-inbox{padding:22px}
 .sample-appointment{grid-template-columns:minmax(0,1fr);gap:0}
 .portfolio-thumb{height:185px}
 .guide-controls{padding:24px}
}
@media(max-width:760px){
 .editorial-hero-grid{display:flex;flex-direction:column;align-items:stretch;padding-block:38px 22px;gap:10px;max-width:620px}
 .editorial-hero-copy{max-width:480px}
 .editorial-hero .eyebrow{font-size:.6875rem;letter-spacing:.16em;margin-bottom:22px}
 .editorial-hero h1{font-size:clamp(2.5rem,10.3vw,3.65rem);line-height:1.04;letter-spacing:-.035em;margin-bottom:24px}
 .editorial-hero-intro{font-size:1rem;max-width:32ch;line-height:1.55;margin-bottom:24px}
 .editorial-hero-actions{align-items:stretch;gap:10px}
 .hero-contact{width:100%;min-height:48px;padding:11px 20px;font-size:1rem}
 .hero-explore{align-self:center;font-size:.875rem}
 .hero-visual{margin:0 -22px;max-width:none}

 .hero-visual figcaption{font-size:.6875rem;position:absolute;bottom:5px;right:22px;margin:0}
 .service-overview{padding-block:46px 48px;scroll-margin-top:80px}
 .service-layout{grid-template-columns:minmax(0,1fr);gap:28px}
 .service-heading{padding:0;max-width:500px}
 .service-heading .eyebrow{font-size:.875rem;margin-bottom:14px;letter-spacing:.13em}
 .service-heading h2{font-size:clamp(1.9rem,7vw,2.5rem);margin-bottom:14px;line-height:1.12}
 .service-heading>p:last-child{font-size:1rem;max-width:34ch;line-height:1.6}
 .service-item>summary{grid-template-columns:24px minmax(0,1fr) 18px;gap:10px;min-height:59px;padding-block:15px}
 .service-title{font-size:1.2rem;line-height:1.3}
 .service-number{font-size:.8125rem}
 .service-plus{width:17px;height:17px}
 .service-plus:before,.service-plus:after{width:16px;top:8px}
 .service-detail{padding:2px 8px 20px 34px}
 .service-detail h3{font-size:1.2rem;margin-bottom:10px}
 .service-detail p,.service-detail li{font-size:1rem;line-height:1.6}
 .service-detail ul{margin-bottom:8px}
 .service-example{font-size:.875rem}
 .portfolio-preview{padding-block:0 46px}
 .portfolio-preview-images{grid-template-columns:repeat(2,minmax(0,1fr))}
 .portfolio-thumb.wise{display:none}
 .portfolio-thumb{height:170px}
 .portfolio-thumb>span{bottom:8px;left:8px;right:8px;padding:8px;font-size:.75rem}
 .portfolio-preview-copy{flex-direction:column;align-items:flex-start;gap:20px;padding:25px 23px}
 .portfolio-preview-copy h2{font-size:1.8rem}
 .portfolio-preview-copy p:last-child{font-size:.9375rem}
 .portfolio-preview-cta{font-size:.875rem;max-width:none;gap:20px}
 .portfolio-page .section-heading{margin-bottom:28px}
 .possibilities-section{padding-block:22px 36px}
 .possibilities-heading{margin-bottom:20px}
 .possibilities-heading h1{font-size:1.9rem;margin-bottom:0;line-height:1.2}
 .possibilities-heading>p{display:none}
 .standalone-back{padding-top:16px}
 .demo-navigation{border:0;padding:0}
 .demo-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
 .demo-tab{flex-direction:row;align-items:center;gap:9px;min-height:48px;padding:10px 12px;border:1px solid #cdd5cb;background:#fffdf7;font:500 .875rem/1.35 var(--sans);border-radius:5px}
 .demo-tab:last-child{grid-column:1/-1}
 .demo-tab svg{width:19px;height:19px}
 .demo-tab[aria-selected="true"]{border-color:var(--ink);box-shadow:inset 3px 0 #efa77f}
 .demo-lab{gap:24px}
 .demo-panel-heading{margin-bottom:16px;padding-bottom:0;border:0}
 .demo-panel-heading h3{font-size:1.45rem;line-height:1.25;margin-bottom:8px}
 .demo-panel-heading>p{font-size:1rem}
 .shop-toolbar{top:66px;padding-bottom:16px}
 .shop-toolbar .butcher-brand{font-size:.75rem;letter-spacing:.06em}
 #cart-feedback{font-size:.75rem;max-width:28ch}
 .basket-shortcut{gap:4px;padding:8px 10px}
 #cart-mini-total{font-size:.8125rem;padding-left:7px}
 .shop-demo-grid{grid-template-columns:minmax(0,1fr)}
 .demo-products{gap:16px}
 .demo-basket{padding:24px}
 .basket-item{grid-template-columns:minmax(0,1fr) auto}
 .quantity-control button{width:36px;height:44px}
 .enquiry-demo-grid{grid-template-columns:minmax(0,1fr)}
 .sample-appointment{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
 .sample-form,.sample-inbox{padding:24px}
 .live-editor-body{grid-template-columns:minmax(0,1fr);min-height:0}
 .live-content{padding:24px}
 .live-photo{height:200px}
 .live-photo img{width:100%;height:100%;object-fit:cover}
 .live-brand{padding:18px 22px;gap:14px}
 .live-brand .butcher-brand{font-size:.8125rem}
 .live-indicator{font-size:.6875rem;max-width:12ch}
 .editor-bottom{gap:10px}
 .guide-controls,.guide-result-copy{padding:24px}
 .guide-controls h4{font-size:1.5rem}
 .guide-result-copy h4{font-size:1.6rem}
 .guide-total{flex-direction:column;gap:8px}
 .guide-explain{font-size:.9375rem}
 .demo-closing{padding-block:10px 36px}
}
@media(max-width:600px){
 .sample-frame-label{padding:9px 12px;font-size:.6875rem}
 .compare-actions{gap:7px;display:grid;grid-template-columns:1fr 1.4fr 1fr}
 .compare-view{padding:8px 6px;min-height:44px;font-size:.875rem;border-radius:5px;line-height:1.35}
 .compare-actions>span{font-size:.875rem;padding:9px 8px;line-height:1.4;max-width:none}
 .butcher-nav{padding:19px 20px;min-height:58px}
 .butcher-brand{font-size:.875rem;letter-spacing:.13em}
 .butcher-nav>span:last-child:not(.butcher-brand){display:none}
 .butcher-hero{grid-template-columns:minmax(0,1fr);min-height:0}
 .butcher-photo{height:180px;order:-1}
 .butcher-photo:before{background:linear-gradient(0deg,var(--cream),transparent 24%)}
 .butcher-copy{padding:23px 22px 28px}
 .butcher-kicker{font-size:.6875rem;margin-bottom:12px}
 .butcher-copy h4{font-size:2.1rem;margin-bottom:16px}
 .butcher-intro{font-size:1.05rem;margin-bottom:20px}
 .butcher-action{font-size:.8125rem;padding:11px 16px}
 .counter-section{padding:24px 22px}
 .counter-heading{flex-direction:column;align-items:flex-start;gap:8px}
 .counter-heading h4{font-size:1.4rem}
 .counter-products{grid-template-columns:minmax(0,1fr);gap:18px}
 .counter-product{display:grid;grid-template-columns:82px minmax(0,1fr);column-gap:14px;align-items:start}
 .counter-product img{grid-row:1/3;margin:0;aspect-ratio:1}
 .counter-product h5{font-size:1.15rem;align-self:end;margin-bottom:6px}
 .counter-product>div{flex-direction:column;gap:2px;justify-content:flex-start}
 .butcher-visit{padding:24px 22px;flex-direction:column;align-items:flex-start;gap:16px}
 .butcher-visit strong{font-size:1.15rem}
 .butcher-visit span{font-size:.8125rem}
 .sample-before{padding:15px}
 .old-brand{font-size:1.3rem;padding:16px 6px}
 .old-nav{font-size:.75rem;line-height:1.8}
 .old-layout{grid-template-columns:minmax(0,1fr);gap:20px;margin-top:18px;flex:0}
 .old-sidebar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px;padding:12px}
 .old-sidebar>strong{grid-column:1/-1;margin:0}
 .old-sidebar>p{margin:0;font-size:.8125rem}
 .old-sidebar>p:last-child{grid-column:1/-1;line-height:1.6;text-decoration:none}
 .old-order{margin:0;align-self:start}
 .old-product{grid-template-columns:70px minmax(0,1fr);gap:10px}
 .sample-before .old-product img{width:70px}
 .old-footer{margin-top:auto;padding-top:18px}
 .demo-products{grid-template-columns:minmax(0,1fr);gap:14px}
 .demo-product,.demo-product:last-child{grid-column:auto;display:grid;grid-template-columns:100px minmax(0,1fr)}
 .demo-product>img,.demo-product:last-child>img{height:100%;aspect-ratio:auto;object-fit:cover}
 .product-info,.demo-product:last-child .product-info{padding:16px;display:flex;flex-direction:column;gap:0;align-items:stretch}
 .product-info h4,.demo-product:last-child h4{font-size:1.2rem;min-height:0;margin:0 0 5px}
 .product-info>p,.demo-product:last-child .product-info>p{font-size:.8125rem;margin:0 0 12px}
 .product-info>strong,.demo-product:last-child .product-info>strong{font-size:1.2rem;margin:0 0 12px;text-align:left}
 .demo-add,.demo-product:last-child .demo-add{width:100%;align-self:stretch;font-size:.8125rem;min-width:0;min-height:42px}
 .demo-basket{padding:22px 20px}
 .sample-form,.sample-inbox{padding:22px 20px}
 .sample-appointment{grid-template-columns:minmax(0,1fr);gap:0}
 .inspector-top{flex-direction:column;align-items:stretch;gap:12px}
 .inspector-top>select{width:100%}
 .editor-inspector{padding:18px}
 .inspector-fields{gap:15px}
 .editor-tools{margin-bottom:18px}
 .photo-options{gap:8px}
 .photo-choice{width:62px;height:46px}
 .guide-surface{grid-template-columns:minmax(0,1fr)}
 .guide-result>img{aspect-ratio:16/9}
 .guide-total{flex-direction:row;align-items:baseline}
}
@media(max-width:359px){
 .editorial-hero h1{font-size:2.35rem}
 .hero-visual{margin-inline:-18px}
 .service-title{font-size:1.125rem}
 .service-item>summary{gap:8px;grid-template-columns:23px minmax(0,1fr) 16px}
 .service-detail{padding-left:31px}
 .demo-product,.demo-product:last-child{grid-template-columns:82px minmax(0,1fr)}
 .product-info,.demo-product:last-child .product-info{padding:14px}
 .shop-toolbar{gap:10px}
 .shop-toolbar .butcher-brand{font-size:.6875rem}
 .basket-shortcut{padding:8px;gap:2px}
 .basket-shortcut>svg{width:18px;height:18px}
}
@media(prefers-reduced-motion:reduce){.demo-lab *,.service-overview *{animation:none!important;transition:none!important}}

/* The portfolio uses genuine app imagery at its original aspect ratio. */
.project-chess{height:310px;min-height:0;aspect-ratio:auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:20px;padding:20px 28px;background:#15120c;color:#ebc575}
.chess-cover-brand{display:flex;flex-direction:column;align-items:flex-start;gap:13px;min-width:0}
.chess-cover-brand>img{width:56px;height:56px;border-radius:12px}
.chess-cover-brand>strong{font:400 clamp(1.6rem,3vw,2.4rem)/1.1 var(--serif)}
.chess-cover-brand>span{font-size:.875rem;line-height:1.5;color:#dbd1b9}
.chess-game-shot{width:100%;height:270px;object-fit:contain;object-position:right center}
@media(max-width:600px){.project-chess{height:284px;padding:18px 22px;gap:12px}.chess-game-shot{height:248px}.chess-cover-brand>strong{font-size:1.75rem}}
