@font-face{font-family:'Inter';font-style:normal;font-weight:100 900;font-display:swap;src:url(/wp-content/uploads/cpb-bags/fonts/Inter-400-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Inter';font-style:normal;font-weight:100 900;font-display:swap;src:url(/wp-content/uploads/cpb-bags/fonts/Inter-400-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Newsreader';font-style:normal;font-weight:200 800;font-display:swap;src:url(/wp-content/uploads/cpb-bags/fonts/Newsreader-500-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Newsreader';font-style:normal;font-weight:200 800;font-display:swap;src:url(/wp-content/uploads/cpb-bags/fonts/Newsreader-500-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
/* cpb-fit: portrait product photos are shown whole instead of cropped to the frame */
.hero__shot img[src*="/2020/07/bespoke-"],.ihero__shot img[src*="/2020/07/bespoke-"],.card__img img[src*="/2020/07/bespoke-"],.bag__img img[src*="/2020/07/bespoke-"],.pick__img img[src*="/2020/07/bespoke-"]{object-fit:contain;padding:6%}
.more img[src*="/2020/07/bespoke-"]{object-fit:contain;padding:3px}
.hero__shot img[src*="/2020/06/"],.ihero__shot img[src*="/2020/06/"],.card__img img[src*="/2020/06/"],.bag__img img[src*="/2020/06/"],.pick__img img[src*="/2020/06/"],.more img[src*="/2020/06/"]{object-fit:contain}
/* cpb-brand: logo image, and the quote form at full width without the side panel */
.lgi{height:48px;width:auto;display:block;max-width:none}
@media (max-width:620px){.lgi{height:40px}}
#quote .qgrid{grid-template-columns:1fr}
#quote .qside{display:none}

:root{
  --ink:#15211C; --green:#1E4D3B; --green-hi:#2A6A51; --deep:#0F2A20;
  --kraft:#C08552; --kraft-sf:#F4E9DC; --kraft-ln:#E7D5BE;
  --paper:#FBFAF7; --surface:#FFFFFF; --line:#E4E2DC; --muted:#5F6B66;
  --r:10px; --r-sm:6px;
  --wrap:1180px;
  --serif:'Newsreader',Georgia,'Times New Roman',serif;
  --sans:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{font-family:var(--sans);color:var(--ink);background:var(--paper);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
h1,h2,h3{font-family:var(--serif);font-weight:600;line-height:1.15;letter-spacing:-.012em;color:var(--ink);text-wrap:balance}
h1{font-size:clamp(32px,4.6vw,54px)}
h2{font-size:clamp(25px,3.1vw,36px)}
h3{font-size:19px}
p{color:var(--muted)}
.wrap{max-width:var(--wrap);margin:0 auto;padding-inline:20px}
.sec{padding-block:clamp(42px,6vw,82px)}
.sec--line{border-top:1px solid var(--line)}
.sec--paper{background:var(--surface)}
.eyebrow{display:inline-block;font-size:11.5px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--kraft)}
.lede{font-size:17.5px;line-height:1.65;color:var(--muted);max-width:60ch}
.rule{width:54px;height:2px;background:var(--kraft);margin:18px 0}

/* ---------------------------------------------------------- buttons */
.btn{display:inline-flex;align-items:center;gap:9px;height:46px;padding:0 22px;border-radius:var(--r-sm);font-size:14.5px;font-weight:600;letter-spacing:.01em;transition:background .15s,border-color .15s,color .15s}
.btn--go{background:var(--green);color:#fff}
.btn--go:hover{background:var(--green-hi)}
.btn--line{border:1px solid var(--line);background:var(--surface);color:var(--ink)}
.btn--line:hover{border-color:var(--green);color:var(--green)}
.btn--ghost{border:1px solid rgba(255,255,255,.35);color:#fff}
.btn--ghost:hover{border-color:#fff;background:rgba(255,255,255,.08)}

/* ------------------------------------------------------ top contact */
.topbar{background:var(--deep);color:#CFE0D7;font-size:13px}
.topbar .wrap{display:flex;gap:26px;align-items:center;min-height:38px;flex-wrap:wrap}
.topbar .wrap>a{display:inline-flex;align-items:center;gap:7px;color:#fff;font-weight:500}
.topbar .wrap>a:hover{color:var(--kraft)}
.topbar span.sep{opacity:.35}
.topbar .note{margin-left:auto;color:#9BB5A8}
@media (max-width:720px){.topbar .note{display:none}.rsw{margin-left:auto}}

/* ------------------------------------------------- country switcher
   A <details> rather than a scripted menu, so it opens on a phone with no
   JavaScript at all; the script only closes it when the visitor clicks away. */
.rsw{position:relative}
.rsw summary{display:inline-flex;align-items:center;gap:7px;cursor:pointer;list-style:none;padding:5px 10px;border-radius:var(--r-sm);color:#fff;font-weight:600;font-size:12.5px}
.rsw summary::-webkit-details-marker{display:none}
.rsw summary:hover{background:rgba(255,255,255,.1)}
.rsw[open] summary{background:rgba(255,255,255,.13)}
.rsw summary svg:last-child{opacity:.6;transition:transform .15s}
.rsw[open] summary svg:last-child{transform:rotate(180deg)}
.rsw__p{position:absolute;right:0;top:calc(100% + 8px);z-index:60;min-width:256px;background:var(--surface);border:1px solid var(--line);border-top:2px solid var(--kraft);border-radius:var(--r);padding:8px;box-shadow:0 22px 46px rgba(15,42,32,.26)}
.rsw__h{font-size:10.5px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--muted);padding:7px 11px 9px}
.rsw__p a{display:flex;align-items:center;gap:10px;padding:9px 11px;border-radius:var(--r-sm);color:var(--ink)}
.rsw__p a:hover{background:var(--kraft-sf)}
.rsw__n{display:block}
.rsw__n b{display:block;font-family:var(--serif);font-size:15.5px;font-weight:600;letter-spacing:-.01em}
.rsw__n span{display:block;font-size:11.5px;color:var(--muted);margin-top:1px}
.rsw__p a>svg{margin-left:auto;flex:none;color:var(--kraft)}
.rsw__p a[aria-current] b{color:var(--green)}
@media (max-width:420px){.rsw summary span{display:none}.rsw__p{min-width:228px}}

/* ----------------------------------------------------------- header */
.site{position:sticky;top:0;z-index:40;background:var(--surface);border-bottom:1px solid var(--line)}
.site.stuck{box-shadow:0 1px 14px rgba(21,33,28,.07)}
.site__bar{display:flex;align-items:center;gap:22px;min-height:70px}
.brand{display:flex;align-items:center;gap:11px;font-family:var(--serif);font-size:19px;font-weight:600;letter-spacing:-.01em;white-space:nowrap}
.brand i{width:34px;height:34px;border-radius:7px;background:var(--green);display:grid;place-items:center;color:#fff;flex:none}
.nav{display:flex;align-items:center;gap:2px;margin-left:6px}
.nav>li{position:relative;list-style:none}
.nav>li>a{display:inline-flex;align-items:center;gap:5px;padding:10px 12px;font-size:14.5px;font-weight:500;border-radius:var(--r-sm)}
.nav>li>a:hover{background:var(--kraft-sf)}
.nav .drop{position:absolute;top:calc(100% + 6px);left:0;min-width:252px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:7px;opacity:0;visibility:hidden;transform:translateY(-4px);transition:.14s;box-shadow:0 12px 30px rgba(21,33,28,.1)}
.nav li.has:hover .drop,.nav li.has.open .drop{opacity:1;visibility:visible;transform:none}
.nav .drop a{display:block;padding:8px 11px;border-radius:var(--r-sm);font-size:14px;color:var(--muted)}
.nav .drop a:hover{background:var(--kraft-sf);color:var(--ink)}
.site__act{margin-left:auto;display:flex;align-items:center;gap:12px}
.hsearch{position:relative}
.hsearch input{height:40px;width:210px;border:1px solid var(--line);border-radius:var(--r-sm);padding:0 36px 0 13px;font-size:14px;background:var(--paper);color:var(--ink)}
.hsearch input:focus{outline:none;border-color:var(--green);background:#fff}
.hsearch button{position:absolute;right:6px;top:6px;width:28px;height:28px;display:grid;place-items:center;color:var(--muted)}
.hres{position:absolute;top:46px;right:0;width:330px;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:7px;box-shadow:0 14px 34px rgba(21,33,28,.12);max-height:340px;overflow:auto;z-index:50}
.hres a{display:block;padding:9px 11px;border-radius:var(--r-sm);font-size:14px}
.hres a:hover{background:var(--kraft-sf)}
.hres b{display:block;font-weight:500}
.hres p{padding:11px;font-size:13.5px}
.burger{display:none;width:42px;height:42px;border:1px solid var(--line);border-radius:var(--r-sm);place-items:center}
@media (max-width:1040px){
  .burger{display:grid}
  .hsearch input{width:150px}
  .nav{position:fixed;inset:108px 0 auto;flex-direction:column;align-items:stretch;gap:0;background:#fff;border-bottom:1px solid var(--line);padding:10px 20px 20px;display:none;max-height:calc(100vh - 108px);overflow:auto}
  .nav.open{display:flex}
  .nav>li>a{padding:13px 4px;font-size:16px;border-bottom:1px solid var(--line);border-radius:0}
  .nav .drop{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;padding:4px 0 10px 12px;display:none}
  .nav li.has.open .drop{display:block}
}
@media (max-width:620px){.hsearch{display:none}.brand span{display:none}}

/* ------------------------------------------------------------- hero */
.hero{background:var(--surface);border-bottom:1px solid var(--line)}
.hero__grid{display:grid;grid-template-columns:1fr 1.15fr;align-items:center;gap:0}
.hero__copy{padding:clamp(34px,5vw,74px) clamp(20px,4vw,56px) clamp(34px,5vw,74px) 0}
.hero__shot{position:relative;min-height:clamp(320px,42vw,520px);background:var(--kraft-sf)}
.hero__shot img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero__tag{position:absolute;left:0;bottom:22px;background:var(--deep);color:#fff;font-size:12.5px;padding:8px 16px;border-radius:0 var(--r-sm) var(--r-sm) 0}
.hero__cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.hero__facts{display:flex;flex-wrap:wrap;gap:30px;margin-top:30px;padding-top:22px;border-top:1px solid var(--line)}
.hero__facts b{display:block;font-family:var(--serif);font-size:21px;color:var(--ink)}
.hero__facts span{display:block;font-size:12.5px;color:var(--muted);margin-top:2px}
@media (max-width:940px){
  .hero__grid{grid-template-columns:1fr}
  .hero__copy{padding:clamp(28px,6vw,44px) 0}
  .hero__shot{min-height:300px;margin-inline:-20px}
}

/* ------------------------------------------------------- trust strip */
.strip{background:var(--deep);color:#DCEAE3}
.strip .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;padding-block:20px}
.strip div{display:flex;gap:11px;align-items:flex-start;font-size:13.5px;line-height:1.45}
.strip i{color:var(--kraft);flex:none;margin-top:2px}
.strip b{display:block;color:#fff;font-weight:600}
@media (max-width:860px){.strip .wrap{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.strip .wrap{grid-template-columns:1fr}}

/* -------------------------------------------------------- the range */
.range{display:grid;grid-template-columns:1fr 1fr;gap:0 44px}
@media (max-width:860px){.range{grid-template-columns:1fr}}
.bag{display:grid;grid-template-columns:116px 1fr;gap:18px;padding:22px 0;border-top:1px solid var(--line);align-items:center}
.bag:hover h3{color:var(--green)}
.bag__img{aspect-ratio:1;border-radius:var(--r-sm);overflow:hidden;background:var(--kraft-sf)}
.bag__img img{width:100%;height:100%;object-fit:cover}
.bag h3{font-size:18px;transition:color .15s}
.bag p{font-size:13.5px;margin-top:4px}
.bag em{display:block;font-style:normal;font-size:12px;color:var(--kraft);font-weight:600;letter-spacing:.04em;text-transform:uppercase;margin-top:7px}

/* --------------------------------------------------------- mm table */
.sizes{display:grid;grid-template-columns:1fr 1fr;gap:30px}
@media (max-width:860px){.sizes{grid-template-columns:1fr}}
.sztab{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}
.sztab th{text-align:left;font-size:11px;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);font-weight:600;padding:0 0 9px}
.sztab td{padding:9px 0;border-top:1px solid var(--line);font-size:14.5px}
.sztab td+td{text-align:right;color:var(--muted);font-size:13px}

/* ---------------------------------------------------------- trades */
.tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.tags a{border:1px solid var(--line);background:var(--surface);border-radius:99px;padding:8px 15px;font-size:13.5px}
.tags a:hover{border-color:var(--green);color:var(--green)}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:26px}
@media (max-width:900px){.cards{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.cards{grid-template-columns:1fr}}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column}
.card__img{aspect-ratio:4/3;overflow:hidden;background:var(--kraft-sf)}
.card__img img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.card:hover .card__img img{transform:scale(1.03)}
.card__body{padding:17px 18px 19px;display:flex;flex-direction:column;gap:7px;flex:1}
.card__body p{font-size:13.5px;flex:1}
.card__go{font-size:13px;font-weight:600;color:var(--green);display:inline-flex;align-items:center;gap:6px}

/* ----------------------------------------------------------- steps */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;margin-top:28px;counter-reset:s}
@media (max-width:900px){.steps{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.steps{grid-template-columns:1fr}}
.step{border-top:2px solid var(--kraft-ln);padding-top:18px}
.step:before{counter-increment:s;content:"0" counter(s);font-family:var(--serif);font-size:26px;color:var(--kraft);display:block;line-height:1}
.step h3{font-size:17px;margin-top:9px}
.step p{font-size:13.5px;margin-top:6px}

/* ----------------------------------------------------------- quote */
.quote{background:var(--deep);color:#fff}
.quote h2{color:#fff}
.quote .lede{color:#B9CFC4}
.qgrid{display:grid;grid-template-columns:1.25fr .75fr;gap:34px;margin-top:28px;align-items:start}
@media (max-width:940px){.qgrid{grid-template-columns:1fr}}
.qform{background:#fff;border-radius:var(--r);padding:10px;min-height:560px}
.qside h3{color:#fff;font-size:18px}
.qrow{display:flex;gap:12px;align-items:flex-start;padding:15px 0;border-bottom:1px solid rgba(255,255,255,.14)}
.qrow i{color:var(--kraft);flex:none;margin-top:2px}
.qrow b{display:block;color:#fff;font-size:15px}
.qrow span,.qrow a{color:#9FBCAE;font-size:13.5px}
.qrow a:hover{color:#fff}
.qnote{color:#9FBCAE;font-size:13.5px;margin-top:16px}

/* ------------------------------------------------------------- faq */
.faq{display:grid;grid-template-columns:1fr 1fr;gap:0 40px}
@media (max-width:860px){.faq{grid-template-columns:1fr}}
.qa{border-top:1px solid var(--line)}
.qa summary{cursor:pointer;list-style:none;display:flex;gap:12px;align-items:flex-start;padding:18px 0;font-size:15.5px;font-weight:500;font-family:var(--serif)}
.qa summary::-webkit-details-marker{display:none}
.qa summary i{color:var(--kraft);font-style:normal;font-weight:600;flex:none}
.qa .a{padding:0 0 18px 26px;color:var(--muted);font-size:14.5px}
.qa[open] summary{color:var(--green)}

/* ---------------------------------------------------------- footer */
.foot{background:var(--deep);color:#A9C4B7;font-size:14px;padding-block:46px 30px}
.foot a{color:#DCEAE3}
.foot a:hover{color:var(--kraft)}
.foot__grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:30px}
@media (max-width:860px){.foot__grid{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.foot__grid{grid-template-columns:1fr}}
.foot h4{color:#fff;font-size:12px;letter-spacing:.08em;text-transform:uppercase;font-family:var(--sans);font-weight:600;margin-bottom:12px}
.foot ul{list-style:none;display:flex;flex-direction:column;gap:8px}
.foot__brand{display:flex;align-items:center;gap:10px;color:#fff;font-family:var(--serif);font-size:18px}
.foot__brand i{width:32px;height:32px;border-radius:7px;background:var(--green);display:grid;place-items:center;flex:none}
.foot__end{border-top:1px solid rgba(255,255,255,.12);margin-top:32px;padding-top:18px;display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between;font-size:12.5px}
.crumbs{display:flex;flex-wrap:wrap;gap:7px;font-size:12.5px;color:var(--muted);padding-top:18px}
.crumbs a:hover{color:var(--green)}

/* feature chips under the hero/product intro — spaced, with a check mark */
.ichips{display:flex;flex-wrap:wrap;gap:8px 10px;margin:14px 0 2px;padding:0;list-style:none}
.ichips span{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;line-height:1;padding:7px 12px;border-radius:999px;background:rgba(0,0,0,.05)}
.ichips span::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;opacity:.55}

/* product image gallery: hero + two extra views */
.pb-gallery{display:flex;gap:10px;margin-top:12px;flex-wrap:wrap}
.pb-gallery img{width:calc(50% - 5px);height:auto;border-radius:10px;background:#f4f1ec;display:block}

/* product bag gallery that leads a page (3-up) */
.pb-gallery-lead{padding:18px 0 0}
.pb-gallery-lead .wrap{display:flex;gap:12px;flex-wrap:wrap;max-width:1100px;margin:0 auto;padding:0 16px}
.pb-gallery-lead img{width:calc(33.333% - 8px);height:auto;border-radius:12px;background:#f4f1ec;display:block}
@media(max-width:640px){.pb-gallery-lead img{width:calc(50% - 6px)}}
