@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700;800;900&family=Libre+Baskerville:wght@400;700&display=swap');
:root{--red:#e71925;--dark:#0d0d0e;--cream:#f4f0e7;--muted:#bcb9b3}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--dark);color:white;font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}.wrap{max-width:1440px;margin:auto}.nav{position:sticky;top:0;z-index:50;background:#0a0a0b;box-shadow:0 2px 12px #0009}.nav-inner{max-width:1440px;margin:auto;display:flex;align-items:center;gap:26px;padding:9px 26px}.brand{display:flex;align-items:center;background:white;padding:4px;flex-shrink:0}.brand img{height:78px;width:78px;object-fit:contain}.links{display:flex;align-items:center;gap:25px;margin-left:auto}.links a{font-family:'Barlow Condensed',Impact,sans-serif;text-transform:uppercase;font-weight:700;letter-spacing:.7px;font-size:19px}.links a:hover,.active{color:var(--red)!important}.btn{display:inline-flex;align-items:center;justify-content:center;gap:16px;padding:14px 26px;border:2px solid var(--red);font-family:'Barlow Condensed',Impact,sans-serif;font-size:20px;font-weight:800;letter-spacing:1px;text-transform:uppercase;cursor:pointer;transition:.2s}.btn.red{background:var(--red);color:white}.btn:hover{background:#b70d19;color:white;border-color:#b70d19}.btn.outline{background:transparent;color:inherit}.btn.outline:hover{background:var(--red)}.mobile-toggle{display:none}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:520px;background:var(--cream);color:#151515}.heritage{position:relative;background:url('assets/original-shop.png') center center/cover;display:flex;align-items:flex-start;padding:40px 5%}.heritage:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#f5ebd8ed 0%,#f5ebd8b0 43%,transparent 86%)}.heritage-content{position:relative;max-width:330px}.eyebrow{font-family:'Barlow Condensed',Impact,sans-serif;font-size:28px;font-weight:800;text-transform:uppercase;letter-spacing:3px}.since{font-family:'Barlow Condensed',Impact,sans-serif;font-size:25px;font-weight:700;letter-spacing:5px;color:#b71821}.year{font-family:'Barlow Condensed',Impact,sans-serif;font-size:clamp(90px,12vw,175px);line-height:.78;font-weight:900;color:#bb1420;margin:15px 0 25px;text-shadow:1px 2px 0 #6e0711}.heritage p{font:19px/1.5 Georgia,serif;max-width:320px}.modern{background:linear-gradient(0deg,#050505ba,transparent 48%),url('assets/current-building.png') center/cover;position:relative;min-height:440px}.modern-label{position:absolute;bottom:22px;right:28px;text-align:right;text-shadow:0 2px 4px #000}.modern-label strong{display:block;color:#ff343d;font:800 24px 'Barlow Condensed',sans-serif;letter-spacing:2px;text-transform:uppercase}.modern-label span{display:block;line-height:1.5}.section-head{text-align:center;padding:52px 20px 25px}.section-head h2,.page-title{font:900 clamp(42px,5vw,70px)/.95 'Barlow Condensed',Impact,sans-serif;text-transform:uppercase;margin:0}.section-head p{color:#ddd;line-height:1.6}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;background:#272727}.service{background:#121212;display:flex;flex-direction:column}.service>img{width:100%;height:295px;object-fit:cover}.service-body{padding:26px clamp(22px,3vw,42px) 32px;display:flex;flex:1;flex-direction:column}.service h2{font:900 clamp(34px,3.2vw,54px)/.92 'Barlow Condensed',Impact,sans-serif;text-transform:uppercase;margin:0 0 14px}.rule{height:3px;width:72px;background:var(--red);margin:0 0 17px}.checklist{list-style:none;padding:0;margin:0 0 25px;line-height:1.75;font:17px Georgia,serif}.checklist li{display:flex;gap:12px}.checklist li:before{content:'✓';color:var(--red);font:bold 20px Arial}.service .btn{margin-top:auto;width:100%;font-size:18px}.trust{display:grid;grid-template-columns:repeat(4,1fr);background:linear-gradient(#080808dc,#080808ed),url('assets/current-building.png') center/cover;padding:40px 12px}.trust div{text-align:center;border-right:1px solid #777;padding:5px 12px;font:800 25px/1.05 'Barlow Condensed',sans-serif;text-transform:uppercase;letter-spacing:1px}.trust div:last-child{border:0}.trust b{display:block;color:var(--red);font:900 38px Arial;margin-bottom:8px}.footer{display:flex;justify-content:space-around;align-items:center;gap:22px;flex-wrap:wrap;padding:25px;background:#080808}.footer .brand img{height:75px;width:75px}.footer a:not(.btn):hover{color:var(--red)}.foot-contact{font-size:15px;line-height:1.7}.foot-contact strong{color:var(--red)}.page-hero{padding:80px 7%;background:linear-gradient(100deg,#000e,#0005),url('assets/current-building.png') center/cover}.page-hero p{max-width:720px;font-size:21px;line-height:1.5}.detail{max-width:1250px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:55px;padding:65px 28px}.detail img{width:100%;border:3px solid #252525}.detail h2{font:800 45px 'Barlow Condensed',sans-serif;text-transform:uppercase;margin:0 0 16px}.detail p{line-height:1.7;color:#ddd}.contact-grid{max-width:1000px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:50px;padding:55px 25px}.contact-grid h2{font:800 42px 'Barlow Condensed',sans-serif;text-transform:uppercase}.contact-grid p{line-height:1.8}.form{display:grid;gap:15px}.form label{display:grid;gap:6px;font-weight:bold}.form input,.form textarea,.form select{width:100%;background:#202023;color:white;border:1px solid #555;border-radius:0;padding:12px}.form textarea{min-height:130px}.fine{font-size:13px;color:#bbb;line-height:1.5}.story{max-width:1100px;margin:55px auto;padding:0 25px;display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}.story img{width:100%}.story p{font:19px/1.7 Georgia,serif}.callout{padding:60px 25px;text-align:center;background:#1a1a1c}.callout h2{font:800 50px 'Barlow Condensed',sans-serif;text-transform:uppercase;margin:0 0 18px}.maplink{color:#ff454e;text-decoration:underline}@media(max-width:960px){.nav-inner{flex-wrap:wrap}.links{gap:14px}.links a{font-size:16px}.cards{grid-template-columns:1fr}.service{display:grid;grid-template-columns:42% 58%}.service>img{height:100%;min-height:380px}.hero{min-height:430px}.trust div{font-size:19px}}@media(max-width:700px){.nav-inner{padding:8px 12px}.brand img{height:60px;width:60px}.mobile-toggle{display:block;margin-left:auto;background:#222;color:white;border:1px solid #555;padding:10px 15px}.links{display:none;flex-direction:column;align-items:stretch;width:100%;order:3;padding:10px}.links.open{display:flex}.nav-inner>.btn{padding:10px 12px;font-size:16px}.hero{grid-template-columns:1fr}.heritage{min-height:440px}.modern{min-height:330px}.service{display:block}.service>img{height:260px;min-height:0}.trust{grid-template-columns:repeat(2,1fr);row-gap:25px}.trust div:nth-child(2){border:0}.detail,.contact-grid,.story{grid-template-columns:1fr}.page-hero{padding:55px 24px}.footer{justify-content:flex-start}.year{font-size:130px}}
/* v1.3: restored v1.0 visual structure, responsive compact desktop layout */
.brand{background:transparent;padding:0}
.brand img{width:auto;height:70px;max-width:145px;object-fit:contain}
.nav-inner{max-width:1540px;min-height:76px;padding:5px 24px}
.hero{height:clamp(270px,34vh,380px);min-height:0;grid-template-columns:1fr 1fr;overflow:hidden}
.heritage{min-height:0;padding:clamp(16px,2vh,28px) 5%;background-position:center 53%}
.heritage:before{background:linear-gradient(90deg,#f5ebd8f5 0%,#f5ebd8d9 31%,#f5ebd845 67%,transparent 100%)}
.heritage-content{max-width:315px}
.eyebrow{font-size:clamp(19px,1.7vw,26px);line-height:1.03;letter-spacing:1.7px}
.since{font-size:clamp(17px,1.3vw,22px);margin-top:5px}
.year{font-size:clamp(82px,8vw,125px);margin:8px 0 10px;line-height:.83}
.heritage p{font-size:clamp(13px,1.05vw,16px);line-height:1.35;margin:9px 0 13px}
.heritage .btn{padding:9px 16px;font-size:17px}
.modern{min-height:0;background:linear-gradient(0deg,#050505b0,transparent 34%),url('assets/current-building.png') center 52%/cover no-repeat}
.modern-label{bottom:12px;right:17px}
.modern-label strong{font-size:19px}
.modern-label span{font-size:13px;line-height:1.3;color:#fff}
.cards{gap:3px}
.service>img{height:clamp(150px,19vh,225px);object-fit:cover}
.service-body{padding:14px clamp(15px,2.3vw,32px) 17px}
.service h2{font-size:clamp(28px,2.6vw,41px);margin-bottom:8px}
.rule{height:2px;width:54px;margin-bottom:10px}
.checklist{font-size:clamp(12px,.9vw,15px);line-height:1.42;margin-bottom:14px}
.checklist li{gap:8px}
.checklist li:before{font-size:16px;line-height:1.2}
.service .btn{font-size:clamp(13px,.95vw,17px);padding:10px 8px}
.callout{padding:42px 25px}
@media(min-width:1050px) and (max-height:850px){
 .nav-inner{min-height:65px;padding-top:3px;padding-bottom:3px}
 .brand img{height:58px}
 .links a{font-size:16px}
 .nav-inner>.btn{padding:9px 17px;font-size:17px}
 .hero{height:clamp(230px,31vh,290px)}
 .service>img{height:clamp(130px,18vh,165px)}
 .service-body{padding-top:11px;padding-bottom:12px}
 .service h2{font-size:30px;margin-bottom:6px}
 .rule{margin-bottom:7px}
 .checklist{font-size:13px;line-height:1.3;margin-bottom:10px}
 .service .btn{padding:8px 6px;font-size:14px}
}
@media(max-width:1049px){.hero{height:auto;min-height:390px}.modern{min-height:390px}.service>img{height:220px}}
@media(max-width:960px){.service>img{height:100%;min-height:340px}.hero{min-height:390px}}
@media(max-width:700px){.brand img{height:57px}.hero{grid-template-columns:1fr}.heritage{min-height:370px}.modern{min-height:290px}.service>img{height:230px;min-height:0}.service-body{padding:22px}.checklist{font-size:16px;line-height:1.6}.service h2{font-size:38px}}
/* v1.4: show complete service product photographs rather than cropping them */
@media (min-width:1050px) {
 .service>img { width:100%; height:clamp(130px,18vh,165px); object-fit:contain; object-position:center; background:radial-gradient(ellipse at center,#303030 0%,#121212 75%); padding:3px 0; }
}
@media (min-width:701px) and (max-width:1049px) {
 .service>img {object-fit:contain; background:#171717;}
}
@media (max-width:700px) {
 .service>img {object-fit:contain; background:#171717;}
}

/* v1.5: service information left, full product photograph right */
@media (min-width:1050px) {
 .cards {grid-template-columns:repeat(3,minmax(0,1fr));}
 .service {position:relative;display:grid;grid-template-columns:minmax(0,57%) minmax(0,43%);grid-template-rows:1fr auto;min-height:405px;overflow:hidden;align-items:stretch;}
 .service>img {grid-column:2;grid-row:1 / 3;align-self:stretch;width:100%;height:100%;max-height:none;min-height:0;object-fit:contain;object-position:center;background:radial-gradient(ellipse at center,#303030,#121212 75%);padding:5px;}
 .service-body {grid-column:1;grid-row:1 / 3;display:flex;flex-direction:column;min-width:0;padding:18px 10px 15px 20px;z-index:1;}
 .service h2 {font-size:clamp(25px,2vw,35px);line-height:.94;margin:0 0 9px;}
 .checklist {font-size:clamp(11px,.78vw,14px);line-height:1.42;margin:0 0 12px;}
 .checklist li {gap:5px;}
 .service .btn {font-size:clamp(11px,.82vw,14px);line-height:1.05;padding:10px 4px;margin-top:auto;white-space:normal;text-align:center;}
 .heritage {background-position:center 8%;}
}
@media (min-width:1050px) and (max-height:850px) {
 .service {min-height:0;height:clamp(340px,49vh,410px);}
 .service-body {padding:13px 8px 12px 17px;}
 .service h2 {font-size:clamp(23px,1.85vw,30px);}
 .checklist {font-size:clamp(11px,.76vw,13px);line-height:1.34;}
 .service .btn {padding:8px 3px;}
 .heritage {background-position:center 5%;}
}
@media (min-width:701px) and (max-width:1049px) {
 .service {display:grid;grid-template-columns:58% 42%;}
 .service>img {grid-column:2;grid-row:1;width:100%;height:100%;min-height:300px;object-fit:contain;}
 .service-body {grid-column:1;grid-row:1;}
 .heritage {background-position:center 10%;}
}

/* v1.6: exact supplied large-format reference; remove duplicate storefront photo below */
.trust{background:#0a0a0c;}
/* Official logo is an HTML overlay, not an AI-redrawn mark. */
.modern{isolation:isolate;}
.building-logo{position:absolute;z-index:2;left:35.4%;top:10%;width:8.6%;aspect-ratio:1.2;background:#090909;display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:1px;}
.building-logo img{display:block;width:100%;height:100%;object-fit:contain;}
/* Keep banner displays prominent inside the right-hand side of the service card. */
@media(min-width:1050px){.service:nth-child(2)>img{object-fit:contain;padding:0 4px;background:#151515;}}
@media(max-width:1049px){.building-logo{display:none;}}

/* v1.7: warm cream service panels, untouched supplied storefront photo */
.service{background:#f5f1e8;color:#17202b;}
.service h2{color:#102338;}
.service .checklist{color:#1d242c;}
.service .btn.outline{border:1.5px solid #172b40;color:#14283d;background:transparent;}
.service .btn.outline:hover{background:#14283d;color:#fff;}
.service>img{background:#f5f1e8!important;}
@media(min-width:1050px){.service>img{background:#f5f1e8!important;padding:5px!important;}}
/* Keep the historical facade visible higher in its frame, reducing wagon prominence. */
.heritage{background-position:center top!important;}
.modern{background-image:url('assets/current-building.png')!important;background-position:center center!important;}
/* Remove all legacy logo overlays; original building image stays pixel-for-pixel unchanged. */
.building-logo{display:none!important;}

/* v1.8: stable hero framing; no zoomed/cut-off signs or floating images. */
@media (min-width:1050px) {
  .hero {height:clamp(290px,34vh,360px);min-height:0;overflow:hidden;}
  .heritage {background-image:url('assets/original-shop-hero.png')!important;background-position:center center!important;background-size:100% 100%!important;}
  .modern {background-image:url('assets/current-building.png')!important;background-position:center center!important;background-size:100% 100%!important;background-repeat:no-repeat!important;}
  .service:nth-child(2)>img {background:#f5f1e8!important;object-fit:contain!important;padding:8px!important;}
}
@media (min-width:1050px) and (max-height:850px) {
  .hero {height:clamp(265px,33vh,320px);}
  .service {height:clamp(340px,47vh,395px);}
}
@media (min-width:701px) and (max-width:1049px) {
  .heritage {background-image:url('assets/original-shop-hero.png')!important;background-size:cover!important;background-position:center!important;}
  .modern {background-image:url('assets/current-building.png')!important;background-size:100% 100%!important;}
}
@media (max-width:700px) {
  .heritage {background-image:url('assets/original-shop-hero.png')!important;background-position:center!important;}
  .modern {background-image:url('assets/current-building.png')!important;background-size:contain!important;background-repeat:no-repeat!important;background-color:#171717!important;}
}

/* v1.9: official logo moved from the upper-left header to the split between hero photos. */
.home .nav-inner > .brand {display:none;}
.home .nav-inner {justify-content:flex-end;}
.home .hero {position:relative;isolation:isolate;}
.home .hero-center-logo {position:absolute;z-index:8;left:50%;top:15px;transform:translateX(-50%);display:flex;align-items:center;justify-content:center;width:clamp(125px,10vw,170px);height:clamp(125px,10vw,170px);padding:11px;background:#0b0b0de8;border:2px solid #e71925;border-radius:12px;box-shadow:0 8px 25px #0008;}
.home .hero-center-logo img {display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;}
@media(max-width:700px){.home .hero-center-logo {top:calc(50% - 65px);width:130px;height:130px;}}

/* v2.0: clean light backing for the authentic logo between the two photos. */
.home .hero-center-logo {
  background:#fffdf8;
  border:2px solid #d71927;
  border-radius:14px;
  box-shadow:0 9px 28px rgba(0,0,0,.32);
}

/* v2.1: family history story and footer simplification */
.footer{gap:20px;justify-content:space-between;}
.story-intro{padding:56px max(5vw,25px);text-align:center;}
.story-intro p{max-width:760px;margin:12px auto 0;line-height:1.6;}
.story-kicker{color:#d71927;font-family:Impact,'Arial Narrow',sans-serif;letter-spacing:2px;text-transform:uppercase;font-size:15px;margin-bottom:12px;}
.story-history,.story-chapter{align-items:center;}
.story-history p,.story-chapter p{line-height:1.7;margin:12px 0;}
.story-quote{background:#14171c;color:#fff;min-height:260px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:35px;border-left:5px solid #d71927;}
.story-quote span{font-family:Impact,'Arial Narrow',sans-serif;color:#e71b2b;font-size:clamp(64px,7vw,110px);line-height:1;}
.story-quote strong{font-size:clamp(19px,2vw,27px);margin-top:8px;}
.story-quote p{color:#dedede;}
.story-cta{text-align:center;padding:48px 22px;background:#f5f1e8;color:#152335;}
.story-cta h2{font-family:Impact,'Arial Narrow',sans-serif;font-size:clamp(30px,4vw,48px);text-transform:uppercase;margin:0 0 10px;}
.story-cta p{margin:0 0 22px;}
.story-cta .btn.outline{border:1px solid #172b40;color:#172b40;}
@media(max-width:700px){.story-quote{min-height:200px}.story-intro{padding:40px 20px}}

/* v2.2: category pages: clean product-first hero and multi-image gallery; homepage unchanged */
.product-hero{background:linear-gradient(125deg,#11151b 0%,#182536 70%,#101114 100%)!important;border-bottom:4px solid #e71925;padding:54px max(5vw,26px) 48px;position:relative;overflow:hidden}
.product-hero:after{content:"";position:absolute;right:-90px;top:-100px;width:400px;height:400px;border:55px solid #ffffff08;border-radius:50%;pointer-events:none}
.product-hero-kicker{font:800 15px 'Barlow Condensed',Impact,sans-serif;letter-spacing:2px;color:#f34951;margin-bottom:12px}
.product-hero .page-title{font-size:clamp(46px,5vw,72px)}
.product-hero p{margin:14px 0 22px;max-width:680px}
.product-detail{max-width:1440px;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:42px;padding:45px 30px 60px;align-items:start}
.product-detail>div:last-child{padding:12px 0}
.product-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;min-width:0}
.product-gallery figure{margin:0;background:#f5f1e8;border:1px solid #444;overflow:hidden}
.product-gallery-feature{grid-column:1/-1}
.product-gallery img{display:block;width:100%;height:195px;object-fit:cover;border:0}
.product-gallery-feature img{height:300px;object-fit:contain;background:#f5f1e8}
.product-gallery figcaption{color:#132336;font:800 15px 'Barlow Condensed',Impact,sans-serif;letter-spacing:.4px;text-transform:uppercase;padding:9px 12px}
.product-detail .checklist{font-size:17px;line-height:1.7}
@media(max-width:960px){.product-detail{grid-template-columns:1fr;gap:22px}.product-gallery-feature img{height:300px}}
@media(max-width:600px){.product-hero{padding:40px 20px}.product-detail{padding:25px 16px 40px}.product-gallery{gap:8px}.product-gallery-feature img{height:225px}.product-gallery-detail img{height:130px}.product-gallery figcaption{font-size:12px}}

/* v2.3 — Product showrooms and always-visible phone */
.nav-phone{white-space:nowrap;color:#fff;font:800 19px 'Barlow Condensed',Impact,sans-serif;letter-spacing:.5px;border-bottom:2px solid #e71925;padding:7px 0}.nav-phone:hover{color:#ff646b}
.product-page .trust{background:#15191d!important}
.product-page .product-hero{background:linear-gradient(115deg,#171a1e,#25313b 65%,#171a1e)!important}
.product-page .product-detail{grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr);gap:38px}
.product-page .product-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.product-page .showcase-tile{position:relative;min-width:0;margin:0;background:#eee9df;border:0;border-radius:10px;overflow:hidden;box-shadow:0 9px 28px #0006;transition:transform .2s}
.product-page .showcase-tile:hover{transform:translateY(-4px)}
.product-page .showcase-tile img{width:100%;height:245px;object-fit:cover;display:block;border:0;background:#eee9df}
.product-page .showcase-tile figcaption{background:#f4f0e7;color:#172536;padding:13px 17px;font:800 18px 'Barlow Condensed',Impact,sans-serif;text-transform:uppercase;letter-spacing:.7px}
.product-page .showcase-feature{grid-column:1/-1}
.product-page .showcase-feature img{height:325px;object-fit:contain}
.product-page .product-detail>div:last-child{position:sticky;top:110px}
@media(max-width:1150px){.nav-inner{gap:12px}.links{gap:13px}.links a{font-size:16px}.nav-phone{font-size:17px}}
@media(max-width:960px){.product-page .product-detail{grid-template-columns:1fr}.product-page .product-detail>div:last-child{position:static}.nav-phone{margin-left:auto}}
@media(max-width:700px){.nav-phone{order:2;margin-left:0;font-size:17px}.nav-inner>.btn{order:2}.mobile-toggle{order:1}.links{order:4}.product-page .showcase-tile img{height:170px}.product-page .showcase-feature img{height:235px}.product-page .showcase-tile figcaption{font-size:15px;padding:9px}.product-page .product-gallery{gap:9px}}

/* v2.7: Real product photography supplied by J&W */
.product-page .showcase-card img,.product-page .product-gallery img{object-fit:contain;background:#f1eee9;}

/* v2.9: show entire product, avoid cutting edges */
.product-gallery img,.showcase-card img,.product-photo img{object-fit:contain!important;object-position:center!important;}

/* v3.0 — same authentic logo and warm-white framed treatment as homepage */
.nav-inner > .brand { background:#fffdf8; border:2px solid #d71927; border-radius:10px; padding:5px; box-shadow:0 3px 12px rgba(0,0,0,.35); width:74px; height:68px; display:flex; align-items:center; justify-content:center; }
.nav-inner > .brand img {width:100%;height:100%;max-width:100%;object-fit:contain;}
.home .nav-inner > .brand {display:none;}
@media(max-width:700px){.nav-inner > .brand {width:62px;height:58px;padding:4px;}}

/* v3.2: authentic Wilhite family archives */
.story-dance,.story-bowling{display:grid;grid-template-columns:minmax(240px,.85fr) minmax(320px,1.15fr);align-items:center;gap:clamp(22px,4vw,58px);max-width:1250px;margin:0 auto;padding:48px 30px;}
.story-dance{background:#f6f1e8;color:#17212b;max-width:none;padding-left:max(30px,calc((100vw - 1190px)/2));padding-right:max(30px,calc((100vw - 1190px)/2));}
.story-dance .page-title,.story-bowling .page-title{margin:0 0 16px;}
.story-dance p,.story-bowling p{line-height:1.75;max-width:600px;}
.story-photo{margin:0;overflow:hidden;background:#fff;padding:10px 10px 0;box-shadow:0 12px 30px #0003;transform:rotate(-1deg);}
.story-photo img{width:100%;height:auto;display:block;object-fit:contain;}
.story-photo figcaption{font-family:Georgia,serif;font-style:italic;text-align:center;padding:13px 6px 15px;color:#28333b;font-size:15px;}
.story-photo-dance{max-width:420px;justify-self:center;}
.story-bowling{grid-template-columns:minmax(260px,.8fr) minmax(350px,1.2fr);color:#f8f5ef;}
.story-bowling-photos{display:grid;grid-template-columns:1.15fr .85fr;align-items:center;gap:18px;}
.story-bowling-photos .story-photo{transform:rotate(1deg);}
.story-bowling-photos .story-standings{transform:rotate(-2deg);}
@media(max-width:800px){.story-dance,.story-bowling{grid-template-columns:1fr;padding:35px 22px;}.story-bowling-photos{gap:12px;}.story-photo figcaption{font-size:12px;}}

/* v3.5: Sean, Lisa, Brooke and Cade family photograph */
.story-family-today{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.75fr);align-items:center;gap:clamp(22px,5vw,70px);padding:clamp(28px,5vw,72px) max(24px,6vw);background:#f4f0e8;color:#151515;}
.story-family-today .story-kicker{color:#bf1724;}
.story-family-today .page-title{color:#151515;}
.story-family-today p{font-size:1.08rem;line-height:1.7;}
.story-family-photo{max-width:650px;margin:0;transform:none;}
.story-family-photo img{width:100%;height:auto;max-height:600px;object-fit:contain;display:block;}
.story-family-photo figcaption{font-size:.9rem;text-align:center;}
@media(max-width:760px){.story-family-today{grid-template-columns:1fr;}.story-family-photo{max-width:100%;}}

/* v3.6 — editorial product portfolio: eliminate ecommerce-looking cards */
.product-page .product-detail{max-width:1510px;grid-template-columns:minmax(0,1.45fr) minmax(290px,.65fr);gap:clamp(28px,4vw,70px);padding-top:52px;}
.product-page .product-gallery{gap:30px 24px;align-items:start;}
.product-page .showcase-tile{background:transparent;border:0;border-radius:0;box-shadow:none;overflow:visible;transition:none;}
.product-page .showcase-tile:hover{transform:none;}
.product-page .showcase-tile img{width:100%;height:265px;object-fit:contain!important;object-position:center!important;background:#f1eee9;border-radius:3px;box-shadow:none;}
.product-page .showcase-feature img{height:380px;}
.product-page .showcase-tile figcaption{background:transparent;color:#f5f0e8;padding:12px 0 0;font:800 18px 'Barlow Condensed',Impact,sans-serif;letter-spacing:.7px;border-left:0;}
.product-page .showcase-tile figcaption:before{content:'';display:block;width:30px;height:3px;background:#e71925;margin-bottom:8px;}
@media(max-width:960px){.product-page .product-detail{grid-template-columns:1fr;}}
@media(max-width:700px){.product-page .product-gallery{gap:24px 14px}.product-page .showcase-tile img{height:180px}.product-page .showcase-feature img{height:255px}.product-page .showcase-tile figcaption{font-size:15px;padding-top:10px}}


/* v3.7 — full-bleed editorial print portfolio */
.portfolio-page .portfolio-wrap{background:#0b0c0e;color:#f8f6f1;padding-bottom:40px}
.portfolio-page .portfolio-hero{position:relative;min-height:510px;display:flex;align-items:center;overflow:hidden;background:#151515}
.portfolio-page .portfolio-hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 45%;filter:brightness(.76)}
.portfolio-page .portfolio-hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,7,10,.97) 0%,rgba(5,7,10,.91) 25%,rgba(5,7,10,.38) 60%,rgba(5,7,10,.05) 100%)}
.portfolio-page .portfolio-hero-copy{position:relative;z-index:2;max-width:580px;padding:70px max(32px,calc((100vw - 1370px)/2));box-sizing:content-box}
.portfolio-page .portfolio-eyebrow{display:block;font:800 17px 'Barlow Condensed',Impact,sans-serif;color:#ed2331;letter-spacing:3px;margin-bottom:12px}
.portfolio-page .portfolio-hero h1{font:900 clamp(48px,6vw,88px)/.95 'Barlow Condensed',Impact,sans-serif;letter-spacing:.5px;color:white;margin:0 0 25px;text-transform:uppercase}
.portfolio-page .portfolio-hero-copy p{font:400 clamp(17px,1.55vw,21px)/1.6 Georgia,serif;max-width:480px;margin:0 0 28px;color:#f4f2ed}
.portfolio-page .portfolio-feature-label{position:absolute;right:35px;bottom:25px;z-index:2;font:800 15px 'Barlow Condensed',Impact,sans-serif;letter-spacing:2px;text-transform:uppercase;color:white;text-shadow:0 1px 8px #000}
.portfolio-page .portfolio-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;max-width:1600px;margin:12px auto 0;padding:0 12px}
.portfolio-page .portfolio-item{margin:0;min-width:0;overflow:hidden;background:#17191c;position:relative}
.portfolio-page .portfolio-item img{display:block;width:100%;height:300px;object-fit:cover;object-position:center;background:#ebe8e1;transition:transform .3s ease}
.portfolio-page .portfolio-item:hover img{transform:scale(1.025)}
.portfolio-page .portfolio-item figcaption{background:#0b0c0e;color:#fff;padding:12px 3px 17px;font:800 16px 'Barlow Condensed',Impact,sans-serif;letter-spacing:1.4px;text-transform:uppercase}
.portfolio-page .portfolio-item figcaption:after{content:'';display:block;width:30px;height:3px;background:#e71925;margin-top:10px}
.portfolio-page .portfolio-services{max-width:1360px;margin:60px auto 0;padding:36px 28px;border-top:1px solid #444}
.portfolio-page .portfolio-services-inner{display:grid;grid-template-columns:1fr 2fr;gap:45px}
.portfolio-page .portfolio-services h2,.portfolio-page .portfolio-cta h2{font:900 clamp(32px,3.5vw,52px)/1 'Barlow Condensed',Impact,sans-serif;text-transform:uppercase;margin:0;color:white}
.portfolio-page .portfolio-services .checklist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 28px;margin:0;padding:0;list-style:none;font-size:17px;line-height:1.5}
.portfolio-page .portfolio-services .checklist li{padding-left:23px;position:relative}
.portfolio-page .portfolio-services .checklist li:before{content:'✓';position:absolute;left:0;color:#ef2331}
.portfolio-page .portfolio-cta{text-align:center;padding:55px 20px 70px}
.portfolio-page .portfolio-cta p{font-size:18px;color:#ddd;margin:15px auto 24px}
@media(max-width:850px){.portfolio-page .portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.portfolio-page .portfolio-hero{min-height:440px}.portfolio-page .portfolio-services-inner{grid-template-columns:1fr}.portfolio-page .portfolio-hero-copy{padding:60px 28px}}
@media(max-width:560px){.portfolio-page .portfolio-grid{grid-template-columns:1fr;gap:8px}.portfolio-page .portfolio-item img{height:260px}.portfolio-page .portfolio-hero{min-height:440px}.portfolio-page .portfolio-hero h1{font-size:54px}.portfolio-page .portfolio-hero-shade{background:linear-gradient(90deg,#06080bef, #06080b9e)}.portfolio-page .portfolio-services .checklist{grid-template-columns:1fr}.portfolio-page .portfolio-feature-label{font-size:11px;right:12px}}

/* v3.8: align the other portfolios with the successful Business Printing layout */
.portfolio-page .portfolio-hero-image{object-position:center center}
.portfolio-page .portfolio-item{background:#111214}
.portfolio-page .portfolio-item img{height:310px;object-fit:cover;object-position:center center}
@media(max-width:560px){.portfolio-page .portfolio-item img{height:260px}}

/* v3.9 large format: curated photo-only gallery, no white-background catalog screenshots */
.portfolio-page .portfolio-grid:has(+ .portfolio-services) .portfolio-item img{background:#111214}

/* v4.0 product-photo editorial gallery: full-width images without floating beige boxes */
.portfolio-page .portfolio-grid{gap:14px}
.portfolio-page .portfolio-item img{height:clamp(230px,19vw,340px);width:100%;object-fit:cover;object-position:center}
.portfolio-page .portfolio-item figcaption{padding:13px 2px 20px}
.portfolio-page .portfolio-hero-image{object-fit:cover}
@media(max-width:600px){.portfolio-page .portfolio-item img{height:260px}}

/* v4.4: keep the large-format printer vibrant, preserve readable left-hand copy */
.large-format-page .portfolio-hero-image{filter:none!important;opacity:1!important;object-position:center center}
.large-format-page .portfolio-hero-shade{background:linear-gradient(90deg,rgba(5,7,10,.93) 0%,rgba(5,7,10,.82) 22%,rgba(5,7,10,.33) 42%,rgba(5,7,10,0) 64%)!important}
@media(max-width:650px){.large-format-page .portfolio-hero-shade{background:linear-gradient(90deg,rgba(5,7,10,.90),rgba(5,7,10,.38) 75%,transparent)!important}}

/* v4.5: restrained header wordmark on interior pages, keeping the homepage identity intact */
.nav-inner > .brand-wordmark{width:auto;height:auto;min-width:108px;background:transparent;border:0;border-radius:0;box-shadow:none;padding:0;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;line-height:1}
.nav-inner > .brand-wordmark .wordmark-jw{font:900 33px/.85 'Barlow Condensed',Impact,sans-serif;color:#e71925;letter-spacing:-.8px}
.nav-inner > .brand-wordmark .wordmark-printing{font:800 12px/1.1 'Barlow Condensed',Impact,sans-serif;color:#f7f4ef;letter-spacing:3px;margin-top:6px}
@media(max-width:700px){.nav-inner > .brand-wordmark{width:auto;height:auto;min-width:82px}.nav-inner > .brand-wordmark .wordmark-jw{font-size:27px}.nav-inner > .brand-wordmark .wordmark-printing{font-size:10px;letter-spacing:2px}}

/* v4.6: larger, one-line typographic J&W Printing branding */
.nav-inner > .brand-wordmark{flex-direction:row;align-items:center;min-width:0;flex-shrink:0;white-space:nowrap;text-decoration:none!important}
.nav-inner > .brand-wordmark .wordmark-full{font:900 clamp(29px,2.5vw,43px)/1 'Barlow Condensed',Impact,sans-serif;letter-spacing:-.6px;color:#f8f6f2;text-transform:none}
.nav-inner > .brand-wordmark .wordmark-full:first-letter{color:#ed2331}
@media(max-width:1000px){.nav-inner > .brand-wordmark .wordmark-full{font-size:29px}}
@media(max-width:700px){.nav-inner > .brand-wordmark .wordmark-full{font-size:29px}}

/* v4.7: final interior branding — J&W red, Printing white */
.nav-inner > .brand-wordmark .wordmark-full:first-letter{color:inherit}
.nav-inner > .brand-wordmark .wordmark-full .wordmark-jw-red{color:#ed2331}
.nav-inner > .brand-wordmark .wordmark-full .wordmark-printing-white{color:#f8f6f2}

/* v5 product detail pages */
.portfolio-product-link{display:block;color:inherit;text-decoration:none;min-width:0}.portfolio-product-link .portfolio-item{margin:0}.portfolio-product-link:hover img{filter:brightness(1.12);transform:scale(1.025)}.portfolio-product-link img{transition:transform .2s ease,filter .2s ease}.portfolio-product-link:focus-visible{outline:3px solid #ef233c;outline-offset:5px}
.detail-page{background:#0b0d0e;color:#f6f6f6}.detail-page main{max-width:1580px;margin:auto}.detail-hero{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(24px,5vw,80px);align-items:center;padding:42px clamp(22px,5vw,80px) 65px}.detail-photo img{display:block;width:100%;aspect-ratio:1.45;object-fit:cover}.detail-intro h1{font-size:clamp(32px,4vw,65px);line-height:1.05;margin:20px 0;letter-spacing:-.025em}.detail-intro p{color:#ccc;line-height:1.7}.detail-intro .detail-lead{font-size:clamp(19px,2vw,25px);color:white}.detail-back{display:inline-block;color:#aaa;font-size:12px;letter-spacing:.1em;text-decoration:none;margin-bottom:26px}.detail-back:hover{color:white}.detail-hero-actions{display:flex;gap:22px;align-items:center;flex-wrap:wrap;margin-top:28px}.detail-phone{color:white;text-decoration:none;font-weight:800}.detail-content{display:grid;grid-template-columns:1fr 1fr;gap:clamp(25px,5vw,90px);padding:70px clamp(22px,5vw,80px);background:#131718}.detail-content h2,.detail-related h2{font-size:clamp(26px,3vw,39px);margin:12px 0 23px}.detail-content h3{margin:27px 0 8px;font-size:19px}.detail-content p{color:#c7cacc;line-height:1.7}.detail-note{font-size:13px;border-left:3px solid #e51d30;padding-left:14px}.setup-graphic{background:#222a2e;padding:22px;margin:25px 0}.setup-bleed{border:3px dashed #f04455;padding:12px;max-width:400px;margin:auto}.setup-trim{border:3px solid #fff;padding:14px;background:#f0f1f2;position:relative}.setup-safe{border:3px dashed #21a97b;min-height:180px;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;color:#19382e;padding:14px;font-weight:800}.setup-safe small{font-weight:400;margin-top:7px}.setup-binding{background:#e4d1d1;color:#7c1723;text-align:center;font-size:11px;font-weight:800;padding:8px}.setup-key{display:flex;gap:15px;flex-wrap:wrap;font-size:12px;margin-top:17px}.setup-key span{display:flex;align-items:center;gap:7px}.setup-key i{width:13px;height:13px;display:inline-block;border:2px solid}.key-bleed{border-color:#f04455!important}.key-trim{border-color:white!important}.key-safe{border-color:#21a97b!important}.detail-steps>div{border-top:1px solid #3a4043;padding:13px 0}.detail-steps strong{color:#fff}.detail-steps p{margin:6px 0}.detail-related{padding:65px clamp(22px,5vw,80px)}.related-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:15px}.related-card{text-decoration:none;color:white;font-size:13px;font-weight:800;text-transform:uppercase}.related-card img{width:100%;aspect-ratio:1.35;object-fit:cover;display:block;margin-bottom:12px}.related-card:hover{color:#ff4655}.detail-page .portfolio-cta{text-align:center}
@media(max-width:850px){.detail-hero,.detail-content{grid-template-columns:1fr}.detail-hero{padding-top:25px}.related-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-intro h1{font-size:38px}}

/* JDUB v5.1 Large Format detail pages */
.lf-product-link{display:block;color:inherit;text-decoration:none}.lf-product-link img{display:block;width:100%}.lf-product-link .lf-caption{display:block;font-weight:800;text-transform:uppercase;margin-top:12px;font-size:15px;letter-spacing:.02em}.lf-product-link .lf-caption:after{content:"";display:block;width:30px;height:3px;background:#ee1932;margin-top:8px}.lf-product-link:hover .lf-caption{color:#ff4c5d}.lf-product-link:hover img{filter:brightness(1.1)}.lf-flag-feature{max-width:1200px;margin:20px auto 50px;padding:32px;display:flex;align-items:center;gap:45px;background:#161b1d;border:1px solid #34383b;border-radius:8px}.lf-flag-feature>div:last-child{flex:1}.lf-flag-feature h3{font-size:26px;margin:0 0 14px}.lf-flag-feature p{line-height:1.7}.lf-flag-art{height:320px;width:210px;flex:0 0 210px;position:relative}.lf-flag-fabric{position:absolute;top:10px;left:58px;width:122px;height:255px;background:linear-gradient(155deg,#f34243 5%,#ed182c 40%,#741324);border-radius:92% 12% 7% 7% / 25% 10% 5% 5%;clip-path:polygon(10% 0,76% 10%,98% 24%,95% 100%,5% 100%,5% 9%);box-shadow:8px 6px 18px #0007;display:flex;align-items:center;justify-content:center;text-align:center;color:white;font-weight:900;font-size:23px;line-height:1.15}.lf-flag-pole{position:absolute;left:65px;top:8px;height:300px;width:5px;background:#c9ced0;z-index:1}.lf-flag-base{position:absolute;bottom:6px;left:20px;width:100px;height:8px;background:#aab0b3;border-radius:50%}@media(max-width:700px){.lf-flag-feature{margin:18px;padding:20px;display:block}.lf-flag-art{margin:auto}}

/* v5.2 expanded large-format product gallery */
.lf-explore,.lf-showcase{max-width:1500px;margin:48px auto;padding:24px 18px 38px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;background:#0b0c0e;color:#fff}
.lf-section-head,.lf-showcase>.portfolio-eyebrow,.lf-showcase>h2,.lf-showcase>p{grid-column:1/-1}
.lf-section-head h2,.lf-showcase h2{font:900 clamp(29px,3.4vw,48px)/1.05 'Barlow Condensed',Impact,sans-serif;margin:0 0 8px;color:#fff}
.lf-section-head p,.lf-showcase>p{color:#bbb;margin:0 0 12px;font-size:16px}
.lf-option{display:flex;flex-direction:column;text-decoration:none;color:#fff;background:#161719;overflow:hidden;padding-bottom:15px;transition:transform .2s}
.lf-option:hover{transform:translateY(-4px)}
.lf-option img{width:100%;height:180px;object-fit:cover;background:#242424}
.lf-option strong{font:800 21px 'Barlow Condensed',Impact,sans-serif;text-transform:uppercase;padding:12px 12px 0}
.lf-option strong:after{content:'';display:block;width:32px;height:3px;background:#e71925;margin-top:8px}
.lf-option small{font:14px/1.4 Arial,sans-serif;color:#c5c5c5;padding:8px 12px 0}
@media(max-width:850px){.lf-explore,.lf-showcase{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:500px){.lf-explore,.lf-showcase{grid-template-columns:1fr}.lf-option img{height:230px}}

/* v5.3: keep full canopy visible, show actual feather flags */
.lf-option img[src$="canopy-with-backwall.jpg"],.portfolio-item img[src$="canopy-with-backwall.jpg"]{object-fit:contain;background:#15191a}
.lf-option img[src$="real-feather-flags.jpg"]{object-fit:cover;object-position:center}

/* v5.8 business printing navigation */
.portfolio-services-list a{color:inherit;text-decoration:none}.portfolio-services-list a:hover{color:#f3263f}.portfolio-grid a.portfolio-item{display:block;text-decoration:none;color:inherit}.portfolio-grid a.portfolio-item:hover .lf-caption{color:#f3263f}
