.bitesize-search{margin-left:auto;position:relative;flex:1;min-width:165px;max-width:285px}.bitesize-search svg{position:absolute;left:13px;top:11px;width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7}.bitesize-search input{height:42px;border:1px solid #c6c6c4;border-radius:5px;background:white;width:100%;padding:8px 10px 8px 40px;font-size:12px;box-shadow:0 1px 2px #00000008}
.hero{--subject-right:clamp(12px,4vw,72px);--subject-height:96%;--subject-width:42%;position:relative;min-height:390px;isolation:isolate;overflow:hidden;background:#393127;color:#fffaf2}.hero-art{position:absolute;inset:0;z-index:-3}.hero-art svg{width:100%;height:100%}.hero:after{content:'';position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(22,20,17,.82) 0%,rgba(22,20,17,.72) 35%,rgba(22,20,17,.28) 55%,rgba(22,20,17,0) 72%)}.hero-content{position:relative;max-width:1240px;margin:auto;padding:48px 44px 44px}.hero-subject{position:absolute;right:var(--subject-right);bottom:0;width:var(--subject-width);height:var(--subject-height);z-index:-1;pointer-events:none}.hero-subject img{display:block;width:100%;height:100%;object-fit:contain;object-position:center bottom}.hero h1{font-size:48px;letter-spacing:-.7px;line-height:1.13;max-width:610px;text-shadow:0 2px 12px #00000020}.hero p{font-size:18px;line-height:1.42;margin-top:18px;max-width:440px;color:#f3eee5}.hero-actions{display:flex;gap:16px;margin-top:26px}.hero .button.secondary{background:#ffffff0d;border-color:#eee5d8;color:#fffaf2}.hero .button.secondary:hover{background:#ffffff22}.button{display:inline-flex;justify-content:center;align-items:center;gap:19px;min-height:45px;padding:10px 20px;border:1px solid transparent;border-radius:5px;text-decoration:none;font-size:15px;font-weight:600;line-height:1.3;transition:background .15s,box-shadow .15s}.button.primary{color:#fff;background:var(--rust);border-color:#853b2b;box-shadow:inset 0 0 0 1px #ffffff18}.button.primary:hover{background:#8d3521}.button.secondary{background:#ffffffe0;border-color:#666;color:#202325}.button.secondary:hover{background:white}.button span{font-size:23px;font-weight:400;line-height:1}.container{max-width:1240px;margin:0 auto;padding:0 44px}.section{padding-top:22px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:14px}.text-link{color:#98371f;font-size:14px;text-underline-offset:5px;white-space:nowrap}.text-link span{font-size:22px;margin-left:10px;vertical-align:-1px;display:inline-block}.lesson-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.lesson-card{position:relative;display:flex;flex-direction:column;background:#fff;border:1px solid #e9e6e1;border-radius:6px;overflow:hidden;box-shadow:0 2px 8px #00000006;text-decoration:none;transition:box-shadow .15s,transform .15s}.lesson-card:hover{transform:translateY(-2px);box-shadow:0 5px 14px #00000014}.thumbnail{display:block;width:100%;aspect-ratio:2.56;background:#e9e3d9;overflow:hidden}.thumbnail svg,.thumbnail img{width:100%;height:100%;object-fit:cover}.card-body{padding:0 14px 12px;position:relative}.badge{display:inline-block;padding:4px 13px;border-radius:4px;color:white;font:500 13px/1.2 var(--heading);text-transform:uppercase;letter-spacing:.25px;background:var(--category);border:1px solid #0000000a}.card-body .badge{position:relative;margin-top:-19px;vertical-align:top}.lesson-card h3{font-size:21px;line-height:1.2;margin:4px 0 4px}.lesson-card p{font-size:14px;line-height:1.35;color:#494f54}.browse{margin-top:23px;padding-top:15px;padding-bottom:22px;border-top:1px solid var(--line)}.category-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px 16px}.category-tile{position:relative;isolation:isolate;display:flex;align-items:center;gap:19px;min-height:65px;padding:12px 20px;background:var(--category);color:#fff;text-decoration:none;border-radius:5px;overflow:hidden;box-shadow:inset 0 0 0 1px #0000000a}.category-tile:hover{box-shadow:inset 0 0 0 2px #ffffffb0}.category-icon{width:39px;height:39px;flex:none;stroke:currentColor;stroke-width:1.6;fill:none;stroke-linecap:round;stroke-linejoin:round}.category-name{font:500 18px/1.2 var(--heading);position:relative;z-index:2;text-shadow:0 1px 4px #00000022}.category-photo{position:absolute;inset:0 0 0 52%;z-index:-2;opacity:.3}.category-photo svg{width:100%;height:100%}.category-tile:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,var(--category) 25%,transparent);z-index:-1}.shopbites{display:flex;align-items:center;gap:28px;min-height:180px;padding-right:max(44px,calc((100vw - 1152px)/2));background:linear-gradient(100deg,#b69774,#e4c29c 47%,#dcb991);border-top:1px solid #d7b992;overflow:hidden}.shopbites-art{width:39%;align-self:stretch;flex-shrink:0;max-width:470px}.shopbites-art svg{width:100%;height:100%}.shopbites-content h2{font-size:34px}.shopbites-content p{margin-top:8px;line-height:1.4;min-width:250px}.shopbites>.button{margin-left:auto;white-space:nowrap}.lower-content{display:grid;grid-template-columns:1fr 1fr;gap:60px;padding-top:40px;padding-bottom:42px}.lower-content h2{font-size:25px;margin-bottom:12px}.lower-content p{font-size:15px;color:#454b4e;max-width:530px;margin-bottom:10px}.muted{color:var(--muted);font-size:14px}.collection{padding-top:32px;padding-bottom:64px;min-height:70vh}.breadcrumb{display:inline-block;font-size:14px;color:#62615d;margin-bottom:26px;text-underline-offset:4px}.eyebrow{font-size:12px;letter-spacing:1.6px;font-weight:700;color:#8A5A44;margin-bottom:9px}.collection-heading{display:flex;justify-content:space-between;align-items:center;gap:24px}.collection h1{margin-bottom:12px}.collection-description,.collection-intro{color:var(--muted)}.collection-intro{margin-bottom:28px}.library-search{max-width:660px;margin-top:28px}.library-search label{display:block;font-size:14px;font-weight:600;margin-bottom:8px}.library-search>div{display:flex;gap:10px}.library-search input[type=search]{width:100%;min-width:0;padding:11px 14px;border:1px solid #bbb7b0;border-radius:5px;background:white}.results-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:24px 0 15px;font-size:14px;color:var(--muted)}.results-toolbar a{color:#98371f}.empty-state,.error-state{grid-column:1/-1;background:#eee9e1;border-radius:6px;padding:28px;max-width:100%}.empty-state h2,.error-state h2{font-size:25px;margin-bottom:8px}.empty-state p,.error-state p{max-width:580px;margin-bottom:16px}.all-categories .category-tile{min-height:90px}.category-count{display:block;font:12px/1.5 Arial,sans-serif;margin-top:6px;color:#ffffffed}.detail-header{max-width:760px}.detail-header h1{margin:16px 0}.detail-header>p{font-size:19px;color:var(--muted)}.lesson-detail .thumbnail{margin:26px 0;max-width:850px;aspect-ratio:2.56;border-radius:6px}.sample-note{background:#eee7da;border-left:4px solid #8A5A44;padding:22px;max-width:850px}.sample-note h2{font-size:25px;margin-bottom:10px}.sample-note p{max-width:670px;margin-bottom:12px}.detail-meta{display:flex;gap:18px;margin-top:16px;font-size:14px;color:var(--muted)}.status{grid-column:1/-1;color:var(--muted);padding:15px 0}[hidden]{display:none!important}
@media(min-width:1400px){.hero-content{padding-left:44px}.hero{min-height:420px}.hero h1{font-size:52px}}
@media(max-width:1150px){.container{padding-left:42px;padding-right:42px}.hero{min-height:365px}.hero-content{padding:40px 42px 36px}.hero h1{font-size:45px}.hero p{font-size:17px}.hero-actions{margin-top:17px}.shopbites{gap:20px;padding-right:42px}.shopbites-content p{font-size:15px;min-width:230px}.shopbites>.button{padding:11px 16px;font-size:14px}.category-tile{gap:17px;padding:11px 16px}.category-name{font-size:17px}.lesson-card h3{font-size:20px}}
@media(max-width:980px){.hero-content{padding-left:42px}.hero h1{font-size:43px}.hero p{font-size:16px}.category-grid{gap:12px}.category-tile{gap:12px;padding:11px 12px}.category-icon{width:32px;height:32px}.category-name{font-size:16px}.shopbites{flex-wrap:wrap;gap:15px;padding:0 30px 20px 0}.shopbites-art{width:43%;height:180px}.shopbites-content{flex:1}.shopbites>.button{margin:-61px 0 0 calc(43% + 15px)}.shopbites-content{align-self:flex-start;padding-top:28px}.shopbites-content p{font-size:15px}}
@media(max-width:720px){.hero{min-height:360px;--subject-right:-5%;--subject-width:53%;--subject-height:75%}.hero-art{inset:0;opacity:1}.hero:after{background:linear-gradient(90deg,rgba(22,20,17,.9),rgba(22,20,17,.68) 55%,rgba(22,20,17,.26))}.hero-content{padding:30px 24px}.hero h1{font-size:39px;max-width:510px}.hero p{font-size:16px;max-width:390px}.hero-actions{gap:10px;flex-wrap:wrap;margin-top:23px}.button{font-size:14px;padding:10px 16px}.container{padding-left:22px;padding-right:22px}.section{padding-top:24px}h2{font-size:32px}.text-link{font-size:12px}.text-link span{margin-left:3px;font-size:19px}.lesson-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.thumbnail{aspect-ratio:2.15}.lesson-card h3{font-size:20px}.lesson-card p{font-size:13px}.card-body{padding:0 12px 12px}.category-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.category-tile{min-height:65px;padding:12px 15px;gap:15px}.category-name{font-size:18px}.shopbites{padding:0 22px 24px;display:grid;grid-template-columns:1fr 1fr;gap:16px}.shopbites-art{margin-left:-22px;width:calc(100% + 22px);height:160px}.shopbites-content{padding-top:26px}.shopbites-content p{min-width:0;font-size:14px}.shopbites-content p br{display:none}.shopbites>.button{margin:0;grid-column:1/-1;justify-self:center}.lower-content{grid-template-columns:1fr;gap:22px;padding-top:28px;padding-bottom:30px}.collection-heading{align-items:flex-start;flex-direction:column;gap:12px}.collection h1{font-size:40px}.collection{padding-top:24px}.all-categories .category-tile{min-height:87px}.detail-header h1{font-size:36px}}
@media(max-width:400px){.hero h1{font-size:34px}.hero-content{padding:28px 20px}.desktop-break{display:none}.hero-actions{display:grid}.hero-actions .button{justify-content:space-between}.section-heading{gap:10px}.section-heading h2{font-size:29px}.lesson-grid{grid-template-columns:1fr}.thumbnail{aspect-ratio:2.56}.lesson-card h3{font-size:22px}.lesson-card p{font-size:14px}.category-tile{padding:12px 10px;gap:10px}.category-name{font-size:16px}.category-icon{width:29px;height:29px}.shopbites-content h2{font-size:30px}.shopbites-art{height:165px}.container{padding-left:18px;padding-right:18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.lesson-card,.button{transition:none}.lesson-card:hover{transform:none}}

/* Keep the badge overlapping the image without adding a blank text line. */
.card-body .badge{display:block;width:fit-content;margin-top:-19px}.category-count{color:inherit}

/* Once a portrait is supplied, give it its own space on small screens. */
@media(max-width:720px){.hero:has(.hero-subject:not([hidden])){padding-bottom:230px;--subject-width:70%;--subject-height:260px;--subject-right:0}.hero:has(.hero-subject:not([hidden])) .hero-content{padding-bottom:20px}.hero:has(.hero-subject:not([hidden])):after{background:linear-gradient(180deg,rgba(22,20,17,.9),rgba(22,20,17,.72) 53%,rgba(22,20,17,.15))}}

/* The supplied composite already places the subject at the right. */
.hero-art .hero-scene-mobile{display:none}
@media(max-width:720px){
 .hero{padding-bottom:210px;min-height:0;background:#211e19}
 .hero .hero-content{padding-bottom:24px}
 .hero .hero-art{inset:auto 0 0;height:240px}
 .hero-art .hero-scene-desktop{display:none}
 .hero-art .hero-scene-mobile{display:block}
 .hero:after{background:linear-gradient(180deg,#211e19 0%,#211e19 49%,rgba(33,30,25,.78) 61%,rgba(33,30,25,.2) 72%,transparent 83%)}
}

/* Bitesize owns this section bar; none of these links are global site sections. */
.bitesize-bar{background:var(--paper);border-bottom:1px solid var(--line)}
.bitesize-bar-inner{max-width:1240px;margin:auto;min-height:70px;display:flex;align-items:center;gap:28px;padding:13px 44px}
.bitesize-brand{font:500 25px/1 var(--heading);letter-spacing:1px;color:#8A5A44;text-decoration:none;white-space:nowrap}
.bitesize-nav{display:flex;gap:24px;align-items:center;flex-wrap:wrap}
.bitesize-nav a{font-size:13px;font-weight:600;text-decoration:none;padding:6px 0;white-space:nowrap}
.bitesize-nav a:hover,.bitesize-nav a[aria-current=page]{text-decoration:underline;text-underline-offset:5px}
.bitesize-search{max-width:245px}
.bitesize-menu-toggle{display:none}
@media(max-width:1100px){.bitesize-bar-inner{padding:12px 26px;gap:22px}.bitesize-nav{gap:18px}.bitesize-search{max-width:220px}}
@media(max-width:980px){.bitesize-bar-inner{flex-wrap:wrap;gap:12px 24px}.bitesize-brand{margin-right:auto}.bitesize-search{flex:none;width:260px;max-width:260px;margin:0}.bitesize-nav{order:3;width:100%;justify-content:flex-start;padding-top:5px}}
@media(max-width:720px){
 .bitesize-bar-inner{padding:14px 20px;gap:14px}
 .bitesize-brand{font-size:23px}
 .bitesize-menu-toggle{display:flex;align-items:center;gap:9px;border:1px solid #bfb9b0;background:transparent;border-radius:4px;padding:7px 10px;font-size:12px}
 .bitesize-nav{display:none;order:2;flex-wrap:wrap;gap:8px 23px;padding:10px 0;border-top:1px solid var(--line)}
 .bitesize-nav.is-open{display:flex}
 .bitesize-search{max-width:none;width:100%;order:3}
}

/* Keep the subject's head inside the hero: crop vertically from the bottom.
   At ultrawide sizes, cap photo scaling rather than enlarging the face past
   the fixed hero height. The left edge blends into the workshop backdrop. */
@media(min-width:2561px){
 .hero-art .hero-scene-desktop{display:block;width:2560px;max-width:100%;margin-left:auto;mask-image:linear-gradient(to right,transparent,#000 12%,#000)}
}

/* Local department prototype. Everything is scoped to the existing Browse section. */
.browse .department-browser{display:block}
.browse .department-wall{position:relative;isolation:isolate;padding:22px;border:1px solid #4a2817;border-radius:8px;overflow:hidden;background-color:#5d351f;background-image:url('assets/walnut-workshop-wall.webp');background-position:center center;background-repeat:no-repeat;background-size:cover;box-shadow:inset 0 1px #ffffff2e,inset 0 -1px #1d0f0a78,0 2px 8px #30170d38}
.browse .department-wall:before{content:none}
.browse .department-intro{position:relative;margin:0 0 14px;color:#fff7e9;font-size:14px;font-weight:600;text-shadow:0 1px 3px #180b06,0 0 8px #180b068f}
.browse .department-grid{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px 15px}
.browse .department-card{position:relative;isolation:isolate;width:100%;min-width:0;min-height:96px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:15px;padding:15px 16px;border:1px solid color-mix(in srgb,var(--department),#24170f 28%);border-radius:6px;overflow:hidden;background:linear-gradient(112deg,color-mix(in srgb,var(--department),#211812 13%),var(--department) 64%,color-mix(in srgb,var(--department),#fff 7%));color:#fff;box-shadow:inset 0 1px #ffffff25,0 2px 4px #37210f2e;text-align:left;transition:transform .15s,box-shadow .15s,border-color .15s}
.browse .department-card:before{content:'';position:absolute;inset:0;z-index:-1;opacity:.18;background:repeating-linear-gradient(105deg,#fff0 0 24px,#fff 25px,#fff0 27px 54px)}
.browse .department-card:after{content:'';position:absolute;right:-31px;top:-39px;width:128px;height:128px;border:18px solid #ffffff0d;border-radius:50%;z-index:-1}
.browse .department-card--photo{grid-template-columns:minmax(0,1fr) auto;background:var(--department)}
.browse .department-card--photo:before{inset:0;z-index:-1;opacity:1;background-color:var(--department);background-image:var(--department-image);background-position:center center;background-repeat:no-repeat;background-size:cover;filter:none;transform:none}
.browse .department-card--photo:after{content:none}
.browse .department-card--all{color:#1f2b33;text-decoration:none}
.browse .department-card--all .department-name{text-shadow:0 1px 1px #fff}
.browse .department-card--all .department-description{color:#35434c}
.browse .department-card:hover{transform:translateY(-2px);box-shadow:inset 0 1px #ffffff35,0 5px 10px #37210f40}
.browse .department-card[aria-expanded=true]{border-color:#fff7dc;box-shadow:inset 0 0 0 2px #ffffffa8,0 5px 12px #37210f4a}
.browse .department-card-body{display:flex;min-width:0;flex-direction:column;gap:4px}
.browse .department-name{font:500 21px/1.12 var(--heading);letter-spacing:.1px;text-shadow:0 1px 3px #0004}
.browse .department-description{font-size:12px;line-height:1.25;color:#fffffff0}
.browse .department-card-meta{display:flex;align-items:center;gap:11px;margin-left:4px}
.browse .department-count{padding:4px 8px;border:1px solid #ffffff3d;border-radius:999px;background:#1d17132b;font-size:11px;font-weight:700;white-space:nowrap}
.browse .department-toggle{display:grid;width:27px;height:27px;place-items:center;border:1px solid #ffffff6b;border-radius:50%;background:#17110d1f;font:20px/1 Arial,sans-serif}
.browse .department-drawer{position:relative;margin-top:18px;padding:23px 19px 18px;border:1px solid #786d60;border-radius:4px;background:linear-gradient(#e9e5dd,#d8d1c5);box-shadow:inset 0 2px 3px #fff9,inset 0 -3px 5px #5b4d3b20,0 4px 8px #3f2c1a33}
.browse .department-grid>.department-drawer{grid-column:1/-1;margin-top:5px}
.browse .department-drawer:before{content:'';position:absolute;top:-8px;left:50%;width:86px;height:14px;border:1px solid #6e6253;border-radius:3px 3px 1px 1px;background:linear-gradient(#b5aca0,#81766a);box-shadow:inset 0 1px #fff7;transform:translateX(-50%)}
.browse .department-drawer-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:15px}
.browse .department-drawer-title{font-size:27px}
.browse .department-drawer-summary{margin-top:3px;color:#55514b;font-size:13px}
.browse .department-drawer-close{flex:none;border:1px solid #8b8174;border-radius:4px;background:#f8f5ef;padding:7px 11px;color:#302d29;font-size:12px;font-weight:700}
.browse .drawer-category-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.browse .drawer-category-grid .category-tile{min-height:64px;padding:10px 13px;gap:12px}
.browse .drawer-category-grid .category-icon{width:34px;height:34px}
.browse .drawer-category-grid .category-name{font-size:16px}
@media(max-width:980px){
 .browse .department-card{gap:11px;padding:14px 12px}
 .browse .department-name{font-size:19px}
 .browse .department-description{font-size:11px}
 .browse .department-card-meta{gap:7px}
 .browse .department-count{padding:3px 6px}
 .browse .drawer-category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:720px){
 .browse .department-wall{margin-left:-4px;margin-right:-4px;padding:17px 13px;background-position:center top;background-repeat:repeat-y;background-size:auto 680px}
 .browse .department-grid{grid-template-columns:1fr;gap:10px}
 .browse .department-card{min-height:88px;padding:13px 14px}
 .browse .department-card--photo:before{background-image:var(--department-image-mobile)}
 .browse .department-name{font-size:20px}
 .browse .department-description{font-size:12px}
 .browse .department-drawer{padding:22px 13px 15px}
 .browse .department-drawer-header{gap:12px}
 .browse .department-drawer-title{font-size:24px}
 .browse .drawer-category-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .browse .drawer-category-grid .category-tile{padding:10px 9px;gap:9px}
 .browse .drawer-category-grid .category-icon{width:29px;height:29px}
 .browse .drawer-category-grid .category-name{font-size:14px}
}
@media(max-width:400px){
 .browse .department-card{grid-template-columns:auto minmax(0,1fr);gap:11px}
 .browse .department-card-meta{grid-column:2;justify-content:space-between;margin:1px 0 0}
 .browse .department-card--photo{grid-template-columns:minmax(0,1fr);min-height:109px}
 .browse .department-card--photo .department-card-meta{grid-column:1}
 .browse .department-name{font-size:19px}
 .browse .department-drawer-header{align-items:flex-start}
 .browse .department-drawer-close{padding:6px 8px}
}
@media(prefers-reduced-motion:reduce){.browse .department-card{transition:none}.browse .department-card:hover{transform:none}}
