/* Terry Trophy's existing white, orange, and navy visual language. */
:root{--navy:#161a26;--navy-light:#202840;--orange:#ff8738;--orange-hover:#ff9a58;--paper:#fafafa;--ink:#1a2038;--muted:#555b65;--line:#dedfe3;--radius:0px;--max:1440px}
body{background:#fff}h1,h2,h3,h4{letter-spacing:-.025em}h2{font-weight:600}h3{font-weight:600}.wrap{width:min(var(--max),calc(100% - 96px))}.section{padding-block:76px}.button{border-radius:0;background:var(--navy-light);color:white;text-transform:uppercase;letter-spacing:.035em;font-weight:600;font-size:13px}.button:hover{background:#303951;color:white;transform:none}.button-outline{background:transparent;color:var(--ink);border-color:var(--ink)}.button-outline:hover{background:#f0f0f0;color:var(--ink)}.button-small{background:var(--orange);color:#181d2c}.topline{background:#161a26}.topline .wrap{min-height:27px}.header-inner{min-height:94px;align-items:center}.site-header{background:linear-gradient(#161a26 0 44%,#202840 44% 100%)}.brand-logo{width:150px;height:75px}.nav-list{gap:0;margin-top:22px}.nav-list>li>a:not(.button),.nav-link-pair>a{padding:15px 17px;text-transform:uppercase;font-size:12px;font-weight:600;letter-spacing:.015em}.nav-link-pair>a{padding-right:3px}.submenu-toggle{min-width:36px;margin-right:10px;color:white}.nav-list a[aria-current=page]{color:var(--orange)}.designer-nav{padding-left:10px;margin-left:4px}.designer-nav a{font-size:11px!important}.nav-list>li:last-child{margin-left:15px}.nav-services{position:static}.service-mega{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:25px;left:0;right:0;top:100%;width:min(1370px,calc(100vw - 64px));max-width:none;max-height:none;overflow:visible;padding:28px 30px 0;margin-inline:auto;border-radius:0;border-top:4px solid var(--orange);box-shadow:0 12px 18px #161a2622}.service-menu-group{list-style:none;min-width:0}.service-menu-group h3{font-size:15px;line-height:1.5;letter-spacing:0;margin-bottom:13px;padding-bottom:12px;border-bottom:1px solid var(--line)}.service-menu-group ul{list-style:none;padding:0}.service-menu-group a{font-size:13px;line-height:1.55;padding:10px 0;min-height:44px}.service-menu-group a:hover{color:#a84300!important;background:transparent;text-decoration:underline}.service-menu-all{grid-column:1/-1;background:#f2f2f4;margin-inline:-30px;padding:14px 30px;border-top:1px solid var(--line)}.service-menu-all a{font-size:13px;padding:0;min-height:28px;display:inline-flex}.hero{position:relative;background:#fafafa;isolation:isolate}.hero::before{content:"";position:absolute;z-index:-1;width:1120px;height:1120px;right:calc(50% + 55px);top:-565px;border-radius:50%;background:repeating-linear-gradient(132deg,transparent 0 33px,#ffffff55 34px 35px,transparent 36px 54px),#ff8738}.hero-grid{grid-template-columns:1fr 1fr;gap:70px;min-height:650px}.hero-copy{grid-column:2;grid-row:1;padding-block:70px;max-width:680px}.hero-visual{grid-column:1;grid-row:1;align-self:center;height:570px;width:100%;margin:0;isolation:auto}.hero-disc,.hero-orbit{display:none}.hero-product{width:100%;max-width:650px;height:570px;left:0;top:0;object-fit:contain;filter:drop-shadow(3px 12px 8px #161a2615)}.hero h1{font-size:clamp(49px,4.6vw,74px);font-weight:800;line-height:1.08;letter-spacing:-.04em;margin-bottom:28px}.hero h1 em{color:var(--ink)}.hero .eyebrow{font-size:10px;letter-spacing:.12em}.hero-description{font-size:20px;line-height:1.7;max-width:620px;color:#252936}.hero-note{font-size:12px}.hero .button-row{gap:15px}.hero .button{min-height:52px;padding:15px 20px}.section-heading .eyebrow{font-weight:600;color:#696b72;letter-spacing:.12em}.category-section{background:white}.category-section .section-heading{align-items:center}.category-section h2,.service-section h2{font-size:43px}.category-card{min-height:345px;background:#eee;border-radius:0}.category-card>img{height:calc(100% - 82px);object-fit:cover}.category-card::after{display:none}.category-caption{left:0;right:0;bottom:0;min-height:82px;padding:20px 22px;align-items:center;background:var(--navy-light)}.category-number{display:none}.category-caption h3,.catalog-category-grid .category-caption h2{font-size:23px;line-height:1.25;margin:0;font-weight:600;max-width:none}.category-caption .circle-arrow{border:0}.lamacoid-section{background:#202840;padding-block:64px}.lamacoid-section h2{font-weight:600}.lamacoid-section .button{background:var(--orange);color:#161a26}.service-section{background:#f1f1f1}.service-directory{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:26px}.service-directory-group{background:white;border-top:4px solid var(--orange);padding:27px 23px}.service-directory-group h3{font-size:20px;line-height:1.35;margin-bottom:22px;min-height:54px}.service-directory-group ul{list-style:none;padding:0;margin:0}.service-directory-group li+li{border-top:1px solid var(--line)}.service-directory-group a{min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:15px;padding-block:13px;font-size:13px;line-height:1.6}.service-directory-group a:hover{text-decoration:underline}.service-directory-group a span{color:#b1490a;flex-shrink:0}.process-section{background:white;border-bottom:1px solid var(--line)}.process-grid h2{font-weight:600;font-size:46px}.story-section{background:#f3f3f3}.featured-section{background:white}.page-intro{background:#f2f2f2;padding-block:45px 40px;border-bottom:1px solid var(--line)}.page-intro h1{font-size:54px;font-weight:800;margin-bottom:18px}.page-intro .eyebrow{margin-bottom:18px}.page-intro .intro-text{font-size:17px;max-width:850px}.service-overview{padding-top:35px}.service-jump{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;border-bottom:1px solid var(--line);padding-bottom:35px;margin-bottom:50px}.service-jump a{border-top:3px solid var(--orange);background:#f2f2f3;padding:20px;font-size:16px;font-weight:600;line-height:1.5;display:flex;flex-direction:column;gap:10px}.service-jump span{font-size:12px;font-weight:400;color:var(--muted)}.service-group-section{padding-bottom:55px;margin-bottom:55px;border-bottom:1px solid var(--line);scroll-margin-top:25px}.service-group-section:last-child{margin:0;padding:0;border:0}.service-group-section h2{font-size:36px}.service-group-section .section-heading{align-items:center}.grouped-service-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:28px}.service-card{border:0}.service-card>img{height:210px;border-radius:0;filter:none}.service-card h3{font-size:22px;line-height:1.3}.service-card p{font-size:14px}.service-card .text-link{min-height:44px}.supplier-card{border-radius:0}.product-image{background:#f0f1f3;border-radius:0}.closing-band{background:#ececee}.site-footer{background:#161a26}.quote-section{padding-top:45px}.quote-page-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:80px;max-width:1260px}.quote-main{min-width:0}.quote-fieldset{border:0;padding:0 0 35px;margin:0 0 35px;border-bottom:1px solid var(--line);min-inline-size:0}.quote-fieldset legend{font-size:24px;font-weight:600;margin-bottom:25px;padding:0}.quote-fieldset .form-grid{gap:24px}.quote-form .required-note{font-size:12px;margin-bottom:30px;color:var(--muted)}.required-star{color:#af3d10}.field label{font-size:14px;font-weight:600;margin-bottom:9px}.field label span:not(.required-star){font-weight:400;color:var(--muted);font-size:12px}.field input,.field select,.field textarea{border-radius:0;background:#fff;border:1px solid #bfc3cb;min-height:48px;padding:12px 14px}.field textarea{line-height:1.65;resize:vertical}.field small{font-size:12px;line-height:1.6;margin-top:9px;display:block;color:var(--muted)}.artwork-field{margin-top:27px}.file-picker{background:#f4f4f5;padding:21px;border:1px dashed #bfc3cb}.file-picker input[type=file]{border:0;padding:0;background:transparent;font-size:13px;min-height:40px;width:100%}.file-picker input::file-selector-button{font:inherit;font-weight:600;background:#202840;color:white;border:0;padding:11px 15px;margin-right:14px;cursor:pointer}.file-list{padding-left:18px;font-size:12px;margin:12px 0 0;overflow-wrap:anywhere}.file-list:empty{display:none}.clear-files{border:0;background:transparent;font-size:12px;margin-top:13px;padding:0;text-decoration:underline;min-height:30px}.extra-contact{margin-top:22px}.extra-contact summary{font-size:13px;cursor:pointer;min-height:44px;padding-block:10px}.extra-contact summary span{font-size:12px;color:var(--muted)}.extra-contact .form-grid{margin-top:16px}.form-footer .small-note{margin:15px 0 0;font-size:12px}.preview-form-note{font-size:11px;color:var(--muted);margin:12px 0 0}.quote-contact-panel{align-self:start;border-top:4px solid var(--orange);padding-top:25px;margin-top:40px}.quote-contact-panel h2{font-size:26px;line-height:1.25}.quote-contact-panel p{font-size:14px;line-height:1.8}.quote-contact-panel>a:not(.text-link){display:block;font-size:14px;margin-bottom:13px;text-decoration:underline}.quote-contact-panel .quote-hours{margin-top:25px;font-size:12px}.quote-contact-panel>div{border-top:1px solid var(--line);padding-top:24px;margin-top:28px}.quote-contact-panel h3{font-size:19px}.quote-contact-panel .text-link{font-size:12px}.artwork-email{font-size:13px;margin-top:25px}.artwork-email a{text-decoration:underline}body:has(.quote-section) .closing-band{display:none}
@media(min-width:1600px){.hero::before{right:calc(50% + 75px)}.hero-grid{min-height:700px}.hero-product,.hero-visual{height:630px}}
@media(max-width:1200px) and (min-width:1001px){.header-inner{gap:10px}.brand{width:135px}.brand-logo{width:125px}.nav-list>li>a:not(.button),.nav-link-pair>a{padding-inline:11px;font-size:11px}.designer-nav{padding-left:0;margin-left:0}.nav-list>li:last-child{margin-left:7px}.button-small{padding:12px;font-size:11px}.hero-grid{gap:45px}}
@media(max-width:1000px){.wrap{width:calc(100% - 64px)}.site-header{background:#161a26}.header-inner{min-height:85px}.nav-list{margin-top:0;display:block}.nav-list>li:last-child{margin:15px 0 0}.nav-list>li>a:not(.button),.nav-link-pair>a{padding:13px 0;font-size:13px}.nav-link-pair{justify-content:space-between}.submenu-toggle{min-width:44px;margin:0}.service-mega{width:100%;display:grid;position:static;grid-template-columns:repeat(2,minmax(0,1fr));margin:0;padding:20px;gap:20px;box-shadow:none;border-top:3px solid var(--orange);color:var(--ink)}.service-menu-all{margin-inline:-20px;padding-inline:20px}.service-directory{grid-template-columns:repeat(2,minmax(0,1fr))}.service-jump{grid-template-columns:repeat(2,minmax(0,1fr))}.grouped-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-grid{gap:35px;min-height:560px}.hero h1{font-size:48px}.hero-description{font-size:17px}.hero-product,.hero-visual{height:470px}.hero-copy{padding-block:50px}.hero::before{width:850px;height:850px;top:-380px;right:calc(50% + 20px)}.hero .button{font-size:11px;padding-inline:13px;gap:10px}.quote-page-grid{grid-template-columns:minmax(0,1fr) 240px;gap:40px}.category-card{min-height:310px}.category-caption h3,.catalog-category-grid .category-caption h2{font-size:21px}.category-caption{padding-inline:18px}}
@media(max-width:760px){.wrap{width:calc(100% - 40px)}.section{padding-block:48px}.header-inner{min-height:80px}.brand-logo{width:130px;height:62px}.topline .wrap{min-height:28px}.hero-grid{grid-template-columns:1fr;gap:0;min-height:0}.hero-copy{grid-column:1;grid-row:1;padding:38px 0 12px;max-width:100%}.hero-visual{grid-column:1;grid-row:2;height:350px;max-width:480px;justify-self:center}.hero-product{height:350px;width:100%;max-width:100%;top:0;left:0;transform:none}.hero::before{top:auto;bottom:-110px;right:45%;width:650px;height:650px}.hero h1{font-size:clamp(39px,8.5vw,54px);line-height:1.12;margin-bottom:20px}.hero .eyebrow{font-size:9px;line-height:1.5;margin-bottom:20px;letter-spacing:.06em}.hero-description{font-size:15px;line-height:1.75;margin-bottom:22px}.hero-note{font-size:11px;margin-top:16px}.hero .button{font-size:11px;min-height:49px;padding:13px 14px}.hero .button-row{gap:10px}.category-section h2,.service-section h2{font-size:33px}.category-card{min-height:235px}.category-card>img{height:calc(100% - 68px)}.category-caption{min-height:68px;padding:14px 13px;gap:5px}.category-caption h3,.catalog-category-grid .category-caption h2{font-size:17px;max-width:100%;line-height:1.3}.category-caption .circle-arrow{display:none}.service-directory{grid-template-columns:1fr;gap:17px}.service-directory-group{padding:24px}.service-directory-group h3{min-height:0;font-size:22px;margin-bottom:15px}.service-directory-group a{font-size:14px;min-height:49px}.service-mega{grid-template-columns:1fr;gap:23px}.service-menu-group h3{margin-bottom:7px}.service-menu-group a{font-size:13px}.page-intro{padding-block:35px 30px}.page-intro h1{font-size:39px}.page-intro .intro-text{font-size:14px}.service-overview{padding-top:25px}.service-jump{gap:10px;margin-bottom:35px;padding-bottom:25px}.service-jump a{font-size:13px;padding:16px 12px}.service-jump span{font-size:10px}.service-group-section{padding-bottom:35px;margin-bottom:35px}.service-group-section h2{font-size:29px}.service-group-section .section-heading{gap:9px;align-items:start}.service-group-section .section-heading p{font-size:12px}.grouped-service-grid{gap:25px 15px}.service-card>img{height:165px}.service-card h3{font-size:18px}.service-card p{font-size:12px}.service-card .text-link{font-size:11px}.quote-page-grid{grid-template-columns:1fr;gap:15px}.quote-section{padding-top:30px}.quote-fieldset{padding-bottom:28px;margin-bottom:28px}.quote-fieldset legend{font-size:23px;margin-bottom:23px}.quote-fieldset .form-grid{grid-template-columns:1fr;gap:23px}.field input,.field select,.field textarea{font-size:16px;max-width:100%;width:100%;min-width:0}.field label{font-size:14px}.file-picker{padding:18px 15px}.file-picker input[type=file]{font-size:11px}.file-picker input::file-selector-button{padding:10px 12px;margin-right:8px}.file-picker small{font-size:11px}.quote-contact-panel{margin-top:25px;padding-top:25px}.quote-contact-panel h2{font-size:25px}.quote-contact-panel>div{margin-top:22px;padding-top:22px}.process-grid h2{font-size:38px}}

/* Use work examples on the homepage and a compact directory on Services. */
.home-work{background:#f1f1f3}
.home-work .section-heading{align-items:end}
.home-work .section-heading p{max-width:670px;margin:14px 0 0;color:var(--muted)}
.home-work-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.home-work-card{display:flex;flex-direction:column;background:var(--navy-light);color:#fff}
.home-work-card>img{width:100%;aspect-ratio:2.1;object-fit:cover}
.home-work-caption{position:relative;flex:1;padding:17px 35px 18px 16px;border-top:3px solid var(--orange)}
.home-work-caption h3{font-size:19px;margin-bottom:8px;letter-spacing:-.025em}
.home-work-caption p{font-size:12px;margin:0;color:#e4e7ed;line-height:1.5}
.home-work-arrow{position:absolute;right:12px;top:18px;color:var(--orange)}
.home-work-arrow svg{width:17px;height:17px}
.home-work-card:hover h3{text-decoration:underline}
.service-mega,.service-jump{grid-template-columns:repeat(2,minmax(0,1fr))}
.service-mega{max-width:780px}
.service-overview .grouped-service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.grouped-service-grid .service-card{display:grid;grid-template-columns:38% minmax(0,1fr);padding:0;border:1px solid var(--line);background:#fff}
.grouped-service-grid .service-card>img{height:100%;min-height:170px}
.grouped-service-grid .service-card>div{padding:20px}
.grouped-service-grid .service-card p{margin-bottom:8px}
.custom-products{margin:30px 0;padding:25px;border-top:4px solid var(--orange);background:#f2f2f4}
.custom-products h2{font-size:27px;margin-bottom:15px}
.custom-product-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px}
.custom-product-links a{justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--line)}
@media(max-width:760px){
  .home-work .section-heading{align-items:start}
  .home-work .section-heading h2{font-size:32px}
  .service-overview .grouped-service-grid,.custom-product-links{grid-template-columns:1fr}
  .home-work-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
  .home-work-caption{padding:14px 12px}
  .home-work-caption h3{font-size:17px;padding-right:16px}
  .home-work-arrow{right:10px;top:15px}
  .grouped-service-grid .service-card>div{padding:16px}
  .grouped-service-grid .service-card>img{min-height:155px}
  .service-mega{grid-template-columns:1fr}
}

.original-intro{max-width:970px;margin:0 auto 44px;text-align:center}
.original-intro h2{font-size:clamp(30px,3.3vw,48px);line-height:1.2}
.original-intro p{color:var(--muted);margin:0 auto;max-width:820px}
.original-category-list{display:grid;gap:18px}
.original-category{display:grid;grid-template-columns:1fr 1fr;background:#f1f1f3;min-height:245px}
.original-category>img{width:100%;height:100%;max-height:305px;object-fit:cover}
.original-category:nth-child(even)>img{grid-column:2;grid-row:1}
.original-category-copy{align-self:center;padding:32px clamp(24px,4vw,62px)}
.original-category-copy h3{font-size:clamp(25px,3vw,39px);margin-bottom:12px}
.original-category-copy p{margin-bottom:14px}
.original-category-copy a{min-height:44px;text-decoration-color:currentColor}
.original-catalog-link{margin-top:30px;text-align:center}
/* Offset the clipped backdrop by the page scroll while the artwork scrolls normally. */
.hero::before{translate:0 var(--hero-backdrop-offset,0px)}
@media(max-width:760px){
  .original-intro{text-align:left;margin-bottom:28px}
  .original-category{grid-template-columns:1fr}
  .original-category>img,.original-category:nth-child(even)>img{grid-column:1;grid-row:1;aspect-ratio:1.8;height:auto}
  .original-category-copy{padding:23px}
}

.service-mega,.service-mega.product-mega{grid-template-columns:1.2fr 1fr 1fr;max-width:1150px;padding:28px 30px;background:#161a26;color:#fff;gap:28px;border-top-color:var(--orange)}
.product-mega .mega-intro{background:linear-gradient(#161a26cc,#161a26ed),url("images/store.jpg") center/cover}
.mega-intro{padding:22px;background:#202840}
.mega-intro h2{font-size:28px;margin:0 0 12px}
.mega-intro p{font-size:14px;color:#e6e7ed}
.mega-intro .button{display:inline-flex;background:var(--orange);color:var(--navy);padding:11px 15px}
.service-mega .service-menu-group h3{color:#ffb180;border-color:#ffffff35}
.service-mega .service-menu-group a:hover{color:#fff!important;background:#ffffff14}
.nav-link-pair:has(.submenu-toggle[aria-expanded=true]){background:var(--orange);color:var(--navy)}
.nav-link-pair:has(.submenu-toggle[aria-expanded=true]) :is(a,button){color:var(--navy)}
@media(max-width:760px){
  .service-mega,.service-mega.product-mega{grid-template-columns:1fr;gap:18px;padding:16px}
  .mega-intro{padding:16px}
}

/* Fade the outgoing design in place as the next design slides in. */
.hero-slide{opacity:0;pointer-events:none;transform:translateX(-64px)}
.hero-slide.is-active{
  opacity:1;
  transform:translateX(0);
  transition:opacity .72s ease .08s,transform .9s cubic-bezier(.18,.7,.22,1);
}
.hero-slide.is-leaving{opacity:0;transform:translateX(0);transition:opacity .48s ease}
@media(prefers-reduced-motion:reduce){.hero-slide,.hero-slide.is-active,.hero-slide.is-leaving{transition:none}}

/* Keep the artwork and circle together on phones; no scroll-linked repaint. */
@media(max-width:760px){
  .hero{padding-bottom:20px}
  .hero::before{display:none;translate:none}
  .hero-grid{gap:8px}
  .hero-copy{padding:26px 0 0}
  .hero .eyebrow{margin-bottom:14px;font-size:9px;letter-spacing:.055em}
  .hero h1{font-size:clamp(34px,9.8vw,48px);line-height:1.08;letter-spacing:-.035em;text-wrap:balance;margin-bottom:16px}
  .hero-description{font-size:15px;line-height:1.6;margin-bottom:18px;max-width:34em}
  .hero .button-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
  .hero .button-row .button{justify-content:center;min-height:48px;padding:12px 14px;font-size:11px}
  .hero .button-row .button:last-child{grid-column:1/-1}
  .hero-note{font-size:10px;line-height:1.6;margin:12px 0 0;text-align:center}
  .hero-visual{position:relative;isolation:isolate;width:100%;max-width:390px;height:clamp(250px,73vw,330px);margin:0 auto}
  .hero-visual::before{content:"";position:absolute;z-index:-1;width:82%;aspect-ratio:1;left:9%;top:6%;border-radius:50%;background:repeating-linear-gradient(132deg,transparent 0 40px,#ffffff30 41px 42px,transparent 43px 68px),linear-gradient(145deg,#ffad69,#ff8738 70%)}
  .hero-product{width:100%;height:100%;max-width:100%;left:0;top:0;filter:none}
  .hero-slide,.hero-slide.is-active,.hero-slide.is-leaving{transform:none;transition:opacity .5s ease}
}
@media(hover:none) and (pointer:coarse){
  .hero::before{translate:none}
  .hero-slide,.hero-slide.is-active,.hero-slide.is-leaving{transform:none;transition:opacity .5s ease}
}
@media(prefers-reduced-motion:reduce){.hero-slide,.hero-slide.is-active,.hero-slide.is-leaving{transition:none}}

.nav-link-pair .menu-trigger{
  display:flex;align-items:center;gap:12px;min-height:46px;margin:0;padding:13px 17px;
  font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.015em;
}
@media(max-width:1000px){
  .nav-link-pair .menu-trigger{width:100%;justify-content:space-between;padding:13px 0;font-size:13px}
}

/* Keep the homepage categories compact while retaining their photo and copy. */
.original-category-list{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}
.original-category{
  grid-template-columns:40% minmax(0,1fr);
  min-height:168px;
}
.original-category>img,.original-category:nth-child(even)>img{
  grid-column:1;grid-row:1;
  width:100%;height:100%;min-height:0;max-height:none;aspect-ratio:auto;
}
.original-category-copy{padding:16px 19px}
.original-category-copy h3{font-size:clamp(18px,2vw,24px);margin-bottom:7px}
.original-category-copy p{font-size:13px;line-height:1.55;margin-bottom:5px}
.original-category-copy .text-link{font-size:12px;gap:7px}
.original-category-copy .text-link svg{width:17px;height:17px}
@media(max-width:850px){
  .original-category-list{grid-template-columns:1fr}
  .original-category{min-height:145px;grid-template-columns:36% minmax(0,1fr)}
}

/* About and FAQ, based on the existing Terry Trophy site. */
.about-hero{position:relative;isolation:isolate;display:grid;align-items:end;min-height:clamp(260px,32vw,450px);padding-block:clamp(28px,4vw,56px);background:#222636;color:#fff}
.about-hero>img,.about-hero::after{position:absolute;inset:0;width:100%;height:100%;z-index:-1}
.about-hero>img{object-fit:cover;object-position:center 40%}
.about-hero::after{content:"";background:linear-gradient(90deg,#151821e0,#1518219c)}
.about-hero h1{margin:0;border-left:clamp(6px,1vw,14px) solid var(--orange);padding-left:clamp(15px,2.5vw,36px);font-size:clamp(40px,6.3vw,86px);font-weight:800;line-height:.99;text-transform:uppercase}
.about-hero h1 span{display:block;color:var(--orange)}
.about-faq-inner{max-width:1000px}
.about-story h2{font-size:clamp(29px,3.9vw,49px);font-weight:700;line-height:1.12;margin-bottom:18px}
.about-story p,.about-offer p{line-height:1.8}
.about-offer{background:#fff;padding-block:30px clamp(50px,7vw,95px)}
.about-story{padding-block:clamp(48px,6vw,85px) 36px}
.about-story-photo{display:block;width:100%;height:auto;box-shadow:9px 9px 0 var(--orange)}
.about-story p{font-size:15px;margin-bottom:14px;color:#494b53}
.about-story p:last-child{margin-bottom:0}
@media(max-width:760px){.about-story-photo{width:calc(100% - 9px)}}
.about-offer-grid{width:min(1080px,80%);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5.5%;align-items:center}
.about-offer h2{font-size:clamp(18px,1.6vw,23px);line-height:1.25;margin-bottom:12px}
.about-offer p{margin-bottom:0;font-size:15px}
.about-offer video{display:block;width:100%;height:auto;aspect-ratio:16/9;background:#080808;box-shadow:9px 9px 0 var(--orange)}
@media(max-width:760px){.about-offer-grid{width:calc(100% - 40px);grid-template-columns:minmax(0,1fr);gap:24px}.about-offer video{width:calc(100% - 9px)}}
.about-faq{background:#ededed;scroll-margin-top:110px}
.about-faq :is(h1,h2){text-align:center;font-size:clamp(29px,4vw,46px);font-weight:400;margin:0 0 clamp(22px,4vw,45px)}
.about-faq .faq-item{border:0;border-top:2px dashed #c8c9cb;border-radius:0;background:transparent;margin:0}
.about-faq .faq-item:last-child{border-bottom:2px dashed #c8c9cb}
.about-faq .faq-item summary{padding:clamp(16px,2vw,24px) 0;font-weight:500;font-size:clamp(15px,1.55vw,18px)}
.about-faq .faq-item p{padding:0 0 24px;max-width:92ch;line-height:1.75}
.about-faq-contact{text-align:center;margin-top:35px}
.about-faq-contact h3{font-size:20px;margin-bottom:8px}
.about-faq-contact a{text-decoration:underline}
.product-directory .service-card>img{object-fit:contain;background:#f0f1f3}
@media(max-width:600px){.about-hero{min-height:240px}.about-hero>img{object-position:55% 40%}}


/* About page testimonials */
.about-reviews{background:#f7f7f7;border-block:1px solid #ddd;text-align:center;scroll-margin-top:110px}
.about-reviews h2{font-size:clamp(29px,4vw,46px);font-weight:400;margin-bottom:25px}
.review-slide{margin:0 auto 24px;max-width:710px}
.review-quote-mark{display:block;color:#a84712;font:70px/.75 Georgia,serif;margin-top:20px}
.review-slide blockquote{margin:0;font-size:clamp(19px,2.3vw,29px)}
.review-slide blockquote p{margin:0 0 14px}
.review-slide figcaption{font-size:14px;font-weight:600}
.review-controls:not([hidden]){display:flex;align-items:center;justify-content:center;gap:2px;margin-bottom:12px}
.review-controls button{display:grid;place-items:center;min-width:44px;min-height:44px;padding:0;background:transparent;color:#a84712;border:0;cursor:pointer;font-size:30px}
.review-dot span{width:10px;height:10px;border:1px solid #a84712;border-radius:50%}
.review-dot[aria-current="true"] span{background:#a84712}
.review-source{font-size:13px;text-decoration:underline;text-underline-offset:3px}
@media(max-width:760px){.review-controls:not([hidden]){gap:0}.review-controls button{min-width:40px}}


/* Shop landing */
.shop-browse{padding-top:36px}
.catalog-category-heading{display:flex;justify-content:space-between;align-items:baseline;gap:12px 20px;flex-wrap:wrap;margin-bottom:20px}
.catalog-category-heading h2,.catalog-featured h2{margin:0;font-size:clamp(25px,3vw,38px)}
.catalog-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.catalog-tile{display:block;background:#fff;border:1px solid var(--line);overflow:hidden}
.catalog-tile>img{width:100%;display:block;aspect-ratio:1.85;object-fit:cover;transition:filter .2s ease}
.catalog-tile:hover>img{filter:brightness(.91)}
.catalog-tile-caption{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:15px 17px;border-top:3px solid var(--orange)}
.catalog-tile-caption h3{font-size:clamp(15px,1.6vw,22px);line-height:1.25;margin:0}
.catalog-tile-caption svg{width:19px;height:19px;flex:none;color:#a84712}
.catalog-featured{margin-block:44px}
.catalog-featured h2{margin-bottom:20px}
.shop-browse .supplier-section{margin-top:44px}
@media(max-width:760px){.catalog-tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.catalog-tile-caption{padding:10px}.catalog-tile-caption svg{width:15px;height:15px}}
@media(max-width:390px){.catalog-tile-caption svg{display:none}}
@media(prefers-reduced-motion:reduce){.catalog-tile>img{transition:none}}
.shop-browse .supplier-section{padding-top:34px}
.shop-browse .supplier-section h2{font-size:clamp(25px,3vw,38px)}
.supplier-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.supplier-grid .supplier-logo-card{grid-column:auto;margin:0;padding:16px;min-height:90px;display:grid;place-items:center}
.supplier-grid .supplier-card{background:#fff;color:var(--ink);border-color:var(--line);border-top:3px solid var(--orange)}
.supplier-grid .supplier-card p{color:var(--muted)}
.supplier-grid .supplier-card .text-link{font-weight:400}
.supplier-grid .supplier-card-top>.eyebrow{color:#ffb078}
.supplier-grid .supplier-card:hover{border-color:var(--orange)}
.shop-browse .supplier-card h3{font-size:19px;margin-bottom:8px}
.shop-browse .supplier-card p{margin-bottom:14px}
.shop-browse .supplier-card-top>.eyebrow{margin-bottom:10px}
.shop-browse .supplier-next{background:#f2f2f4}
@media(max-width:900px){.supplier-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:430px){.supplier-grid{gap:10px}.supplier-grid .supplier-logo-card{min-height:76px;padding:10px}.supplier-logo{height:42px}.supplier-logo img{height:38px}}

.catalog-tile#custom-products{scroll-margin-top:105px}

.catalog-featured h2{font-size:clamp(23px,2.6vw,30px);margin-bottom:14px}
.catalog-featured-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.catalog-featured-link{display:grid;grid-template-columns:56px minmax(0,1fr) 15px;align-items:center;gap:9px;height:100%;min-height:72px;padding:7px 9px 7px 7px;border:1px solid var(--line);background:#fff;font-size:13px;font-weight:600;line-height:1.35}
.catalog-featured-link:hover{border-color:var(--orange)}
.catalog-featured-thumb{display:grid;place-items:center;width:56px;height:56px;background:#f0f1f3}
.catalog-featured-thumb img{display:block;object-fit:contain;width:100%;height:100%}
.catalog-featured-link svg{width:15px;height:15px;color:#a84712}
@media(max-width:1000px){.catalog-featured-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:430px){.catalog-featured-link{grid-template-columns:38px minmax(0,1fr);font-size:12px;gap:7px;padding:6px;min-height:64px}.catalog-featured-thumb{width:38px;height:38px}.catalog-featured-link svg{display:none}}

.supplier-logo{display:grid;place-items:center;width:min(100%,170px);height:52px;overflow:hidden}
.supplier-logo img{display:block;width:100%;height:46px;object-fit:contain}
.supplier-logo img[src$="supplier-csw.jpg"]{transform:scale(1.85)}

.offering-photos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px}
.offering-photo{overflow:hidden;display:grid;grid-template-rows:1fr auto;background:#f0f1f3}
.offering-photo img{display:block;width:100%;aspect-ratio:3/4;object-fit:cover}
.offering-photo span{padding:8px;text-align:center;font-size:12px}
.offering-photos-compact{aspect-ratio:1.85}
.offering-photos-compact .offering-photo{display:block}
.offering-photos-compact img{height:100%;aspect-ratio:auto}

.awards-catalog{margin-bottom:20px}
.awards-catalog .section-heading{align-items:center;gap:12px 24px;margin-bottom:18px}
.awards-catalog .section-heading h2{font-size:clamp(25px,3.2vw,36px);margin-bottom:8px}
.awards-catalog .section-heading p{margin:0;max-width:59ch}
.awards-catalog .text-link{flex-shrink:0;white-space:normal}
.awards-catalog-frame{display:block;width:100%;height:clamp(380px,65vw,720px);border:1px solid var(--line);background:#f0f1f3}
.awards-catalog ~ .catalog-back{gap:0 20px;margin:0 0 15px;padding:0}

.supplier-grid .supplier-wide-card{grid-column:1/-1}
.supplier-wide-name{font-size:clamp(17px,2.4vw,24px);font-weight:600;text-align:center}

.supplier-grid .supplier-wide-card{min-height:126px}
.supplier-wide-card .supplier-logo{width:min(100%,320px);height:auto}
.supplier-wide-card .supplier-logo img{height:auto}


.awards-order{display:grid;grid-template-columns:1fr 1.15fr;gap:22px;margin-bottom:18px}
.awards-catalog-quote{background:#eeede6;padding:20px 24px}
.awards-order h3{font-size:20px;margin-bottom:10px}
.awards-order p{font-size:13px;color:var(--muted)}
.awards-catalog-quote .button{min-height:46px;padding:10px 16px}
.awards-faq{border:1px solid var(--line);padding:16px 20px}
.awards-faq details{border-top:1px solid var(--line)}
.awards-faq summary{cursor:pointer;padding:7px 0;font-size:13px;font-weight:650}
.awards-faq p{margin:0 0 9px 15px}
.quote-reorder{border:1px solid var(--line);margin:0 0 20px;padding:0 14px}
.quote-reorder summary{cursor:pointer;padding:10px 0;font-size:14px;font-weight:650;text-decoration:underline;text-underline-offset:3px}
.quote-reorder p,.contact-order-note{font-size:13px;color:var(--muted)}
.quote-reorder p{margin:0 0 14px}
.quote-reorder .form-grid{padding-bottom:16px}
.contact-order-note{margin:12px 0 0}
@media(max-width:680px){
    .awards-order{grid-template-columns:1fr;gap:12px}
}

.section.banner-details{padding-block:clamp(24px,4vw,48px)}
.banner-details .service-detail-grid h3{margin:18px 0 6px}
.banner-details .service-detail-grid p{margin-bottom:8px}
.banner-request{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px 28px;margin-top:24px;padding:18px 22px;background:#f2f2f4}
.banner-request h3,.banner-request .check-list,.banner-request .notice-note{grid-column:1;margin:0}
.banner-request .check-list{display:grid;gap:6px}
.banner-request .check-list li{margin:0}
.banner-request .notice-note{padding:0;border:0;background:none}
.banner-request .button{grid-column:2;grid-row:1/4;white-space:nowrap}
@media(max-width:760px){.banner-request{display:flex;flex-direction:column;align-items:flex-start;gap:12px}}

.supplier-section-first{margin:0 0 28px;padding-top:0;border-top:0}
.page-intro.page-intro-compact-catalog{padding-block:22px}
.page-intro-compact-catalog .eyebrow,.page-intro-compact-catalog h1{margin-bottom:6px}
.page-intro-compact-catalog h1{font-size:clamp(32px,4.5vw,44px)}
.page-intro-compact-catalog .intro-text{margin-bottom:0}
.section.shop-supplier-first{padding-top:26px}
.shop-jerseys .sourcing-help{margin:0 0 22px;padding-top:0;border-top:0}
.shop-supplier-first .supplier-section .section-heading{margin-bottom:12px}
.shop-supplier-first .supplier-section .section-heading h2{font-size:clamp(24px,3.5vw,32px)}
.shop-supplier-first .supplier-next{margin-top:0;padding:12px 16px;gap:12px 24px}
.shop-supplier-first .supplier-next .button{min-height:44px;padding:10px 14px}
.shop-supplier-first .supplier-next+.supplier-grid{margin-top:12px}
.supplier-section-first .supplier-logo-card{grid-template-rows:auto 1fr;gap:8px;text-align:center}
.supplier-description{font-size:13px;line-height:1.45;color:var(--muted)}
.catalog-style{font-size:13px;color:var(--muted);margin:0 0 4px}

/* Put the quote action and useful navigation ahead of the desktop menu artwork. */
.mobile-nav-quote{display:none}
.category-guide{margin-top:32px;padding-top:24px;border-top:1px solid var(--line)}
.embroidery-details{padding-block:60px}
.embroidery-intro-grid,.embroidery-order-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:start}
.embroidery-details h2{font-size:clamp(28px,3vw,38px);line-height:1.15;margin-bottom:20px}
.embroidery-details h3{font-size:22px;line-height:1.25;margin:24px 0 12px}
.embroidery-description .lead{font-size:18px;line-height:1.8}
.embroidery-description>p,.embroidery-process>p,.embroidery-price-panel>p{font-size:15px;line-height:1.8}
.embroidery-description .button-row{margin-top:28px;align-items:center;gap:18px}
.embroidery-description .button{font-size:12px}
.embroidery-examples h2{font-size:24px}
.embroidery-photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 14px}
.embroidery-photo-grid figure{margin:0;min-width:0}
.embroidery-photo-grid a{display:block}
.embroidery-photo-grid img{width:100%;aspect-ratio:16/9;object-fit:contain;background:#f0f0ed}
.embroidery-photo-grid figcaption{font-size:12px;font-weight:600;line-height:1.5;padding-top:9px}
.embroidery-examples>.small-note{margin:18px 0 0}
.embroidery-order-grid{margin-top:52px;padding-top:40px;border-top:1px solid var(--line)}
.embroidery-price-panel{padding:30px;background:#eeede6}
.embroidery-price-panel h2{font-size:30px}
.embroidery-price-panel .service-rates{margin-bottom:20px}
.embroidery-price-panel .service-rates>div{gap:20px}
.embroidery-price-panel .service-rates dt{min-width:0}
.embroidery-price-panel .service-rates dd{white-space:nowrap}
.embroidery-price-panel>p.small-note{font-size:12px;margin-bottom:0}
.embroidery-request{margin-top:44px;padding-top:28px;border-top:1px solid var(--line);max-width:820px}
.embroidery-request h3{margin-top:0}
@media(max-width:900px){.embroidery-intro-grid,.embroidery-order-grid{grid-template-columns:1fr;gap:32px}.embroidery-details{padding-block:40px}.embroidery-order-grid{margin-top:36px;padding-top:32px}.embroidery-price-panel{padding:24px}.embroidery-description .button-row{gap:15px}.embroidery-details h2{font-size:30px}.embroidery-examples h2{font-size:24px}.embroidery-request{margin-top:32px}}
.category-guide>h2{font-size:clamp(24px,3vw,32px);margin-bottom:20px}
.category-guide-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 32px}
.category-guide article{scroll-margin-top:32px}
.category-guide h3{font-size:19px;margin:0 0 8px}
.category-guide p{font-size:14px;color:var(--muted);line-height:1.7;margin-bottom:8px}
.category-guide .text-link{font-size:13px;min-height:44px}
@media(max-width:650px){.category-guide-grid{grid-template-columns:1fr;gap:20px}}
.section.shop-bags{padding-top:26px;padding-bottom:42px}
.shop-bags .sourcing-help{margin:0 0 28px;padding:18px 22px;border:0;background:#f2f2f4;gap:12px 28px}
.shop-bags .sourcing-help h2{font-size:24px;margin:0 0 8px}
.shop-bags .sourcing-help p{font-size:14px;margin:0;max-width:72ch}
.shop-bags .sourcing-help .button{white-space:nowrap;min-height:46px;padding:12px 18px}
.shop-bags .product-grid,.shop-promotional .product-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 24px}
.shop-bags .product-card,.shop-promotional .product-card{display:flex;flex-direction:column;align-items:flex-start}
.shop-bags .product-image,.shop-promotional .product-image{width:100%;height:240px;aspect-ratio:auto;background:#fff;border:1px solid var(--line);padding:20px}
.shop-bags .product-image img,.shop-promotional .product-image img{height:100%;width:100%;object-fit:contain}
.shop-bags .product-card h3,.shop-promotional .product-card h3{font-size:18px;margin:0 0 8px}
.shop-bags .product-card-description,.shop-promotional .product-card-description{font-size:13px;line-height:1.6;color:var(--muted);margin:0 0 10px}
.shop-bags .catalog-style,.shop-promotional .catalog-style{font-size:12px;margin-top:auto}
.shop-bags .product-card>.text-link,.shop-promotional .product-card>.text-link{min-height:44px}
.supplier-photo-note{font-size:12px;line-height:1.6;color:var(--muted);margin:24px 0 0;max-width:90ch}
.bag-followup{display:flex;align-items:center;justify-content:space-between;gap:24px;border-block:1px solid var(--line);padding:22px 0;margin-top:26px}
.bag-followup h2{font-size:21px;margin:0 0 8px}.bag-followup p{font-size:14px;max-width:64ch;margin:0}.bag-followup>.text-link{flex-shrink:0}
.offering-photos-custom{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;align-self:start}
.offering-photos-custom .offering-photo img{aspect-ratio:1;object-fit:contain}
.offering-photos-custom .offering-photo:last-child img{object-fit:contain;background:#fff}
.offering-photos-custom .offering-photo span{font-weight:600;font-size:13px;padding:10px 7px}
.offering-photos-custom .offering-photo .text-link{font-size:13px;justify-content:center;gap:6px}
.offering-photos-custom.offering-photos-compact{aspect-ratio:1.85;gap:3px}
/* Service descriptions and original examples. */
.service-story-top{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:52px;align-items:start}
.service-story-description h2{font-size:clamp(28px,3vw,38px);line-height:1.2;margin-bottom:22px}
.service-story-description .lead{font-size:18px;line-height:1.8}
.service-story h3,.service-related h3{font-size:22px;line-height:1.35;margin:24px 0 12px}
.service-story p{line-height:1.8}
.service-story-examples h2{font-size:23px;margin:0 0 18px}
.service-story-photos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 14px}
.service-story-photos figure{margin:0;min-width:0}
.service-story-photos a{display:block;background:#f1f1ef}
.service-story-photos img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:contain}
.service-story-photos figcaption{font-size:13px;line-height:1.5;padding-top:8px}
.service-story-photos-three figure:first-child{grid-column:1/-1}
.service-story-photos-three figure:first-child img{max-height:230px}
.service-story-examples .small-note{font-size:12px;margin-top:14px}
.service-story-guidance{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;border-top:1px solid #d5d9df;margin-top:44px;padding-top:8px}
.service-story-guidance:has(>section:nth-child(2):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}
.service-related{border-top:1px solid #d5d9df;margin-top:28px;padding-top:4px}
.service-related-links{display:flex;flex-wrap:wrap;gap:8px 28px}
.service-related-links a{min-height:44px;max-width:100%;font-size:14px}
.service-story-request{max-width:850px;margin-top:32px;padding-top:4px}
@media(max-width:900px){.service-story-top{grid-template-columns:1fr;gap:32px}.service-story-guidance,.service-story-guidance:has(>section:nth-child(2):last-child){grid-template-columns:1fr;gap:0}.service-story-guidance{margin-top:30px}.service-story-description .lead{font-size:17px}.service-story-photos-three figure:first-child img{max-height:none}.service-related-links{flex-direction:column;align-items:flex-start;gap:4px}.service-story h3{font-size:21px}}
.offering-photos-custom.offering-photos-compact .offering-photo img{height:100%;aspect-ratio:auto}
@media(max-width:900px){.shop-bags .product-grid,.shop-promotional .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.bag-followup{align-items:flex-start;flex-direction:column;gap:14px}}
@media(max-width:540px){.shop-bags .product-grid,.shop-promotional .product-grid{grid-template-columns:1fr;gap:26px}.shop-bags .product-image,.shop-promotional .product-image{height:260px}.shop-bags .sourcing-help{padding:16px}.offering-photos-custom{gap:8px}.offering-photos-custom .offering-photo span{font-size:11px}.offering-photos-custom .offering-photo .text-link{font-size:11px}}
@media(max-width:1000px){
  #primary-navigation>.mobile-nav-quote{display:flex;justify-content:space-between;width:100%;margin:4px 0 12px;min-height:44px}
  #primary-navigation .nav-list>li:has(>a[href$="/submit-a-quote/"]){display:none}
  .service-mega,.service-mega.product-mega{grid-template-columns:1fr;gap:16px;padding:12px 0;margin:0;border-left:0}
  .service-mega .mega-intro{padding:0;background:none}
  .mega-intro h2,.mega-intro p{display:none}
  .service-mega .mega-intro .button{width:auto;background:transparent;color:#fff;padding:8px 0;min-height:44px;text-decoration:underline;text-underline-offset:4px}
  .service-mega .service-menu-group h3{margin-bottom:4px;padding-bottom:8px}
  .service-mega .service-menu-group a{padding:10px 8px;min-height:44px}
}
