/* LEWIS — The Experience. Scoped to .lewis-experience so nothing else on the site is affected. */
.lewis-experience{--ink:#1A1A1A;--black:#000;--mid:#6B6B6B;--line:#E0D9CB;--off:#EDE6D8;--cream:#F5F1E8;--gut:clamp(22px,3.4vw,40px);background:var(--cream);color:var(--ink);font-family:"DM Sans",system-ui,sans-serif;font-size:15px;line-height:1.65;-webkit-font-smoothing:antialiased}
.lewis-experience *{box-sizing:border-box}
.lewis-experience img{max-width:100%;height:auto;display:block}
.lewis-experience a{color:var(--black);text-decoration:none}
.lewis-experience a:hover{color:var(--mid)}
.lewis-experience h1,.lewis-experience h2,.lewis-experience h3,.lewis-experience h4{font-family:"Playfair Display",Georgia,serif;font-weight:400;margin:0;letter-spacing:-.005em;text-wrap:pretty;color:var(--ink)}
.lewis-experience p{margin:0}
.lw-wrap{max-width:1280px;margin:0 auto;padding:0 var(--gut)}

/* shared */
.lw-eyebrow{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--mid)}
.lw-eyebrow strong{color:var(--black);font-weight:500}
.lw-byline{font-size:11.5px;letter-spacing:.09em;text-transform:uppercase;color:var(--mid)}
.lw-adlabel{display:block;font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink);margin-bottom:8px}
/* Aspect-ratio frames. The !important guards are deliberate: Divi sets its own
   img height/width rules globally and would otherwise win inside these frames. */
.lewis-experience .lw-frame{display:block;position:relative;background:var(--off);overflow:hidden;margin:0;width:100%}
.lewis-experience .lw-frame img{width:100%!important;height:100%!important;max-width:none!important;object-fit:cover;object-position:var(--lw-focus,50% 30%);display:block;position:absolute;inset:0;margin:0!important;border-radius:0!important}
.lw-frame--lead{aspect-ratio:var(--lw-lead-ratio,16/9)}
.lw-frame--portrait{aspect-ratio:4/5}
.lw-frame--card{aspect-ratio:3/2}
.lw-frame--wide{aspect-ratio:16/9}
.lw-frame--tall{aspect-ratio:3/4}
@media(max-width:720px){.lw-frame--lead{aspect-ratio:4/5}}

/* zones */
.lw-zone{padding:clamp(44px,5.5vw,76px) 0}
.lw-zone--top{border-top:1px solid var(--line)}
.lw-zonehead{display:flex;align-items:baseline;justify-content:space-between;gap:20px;border-bottom:1px solid var(--ink);padding-bottom:12px;margin-bottom:34px}
.lw-zonehead h2{font-size:clamp(18px,2.2vw,26px)}
.lw-zonehead .lw-eyebrow{white-space:nowrap}

/* 01 lead */
.lw-lead{padding:clamp(34px,4vw,56px) 0 0}
.lw-cap{max-width:900px;margin:30px auto 0;text-align:center}
.lw-lead h1{font-size:clamp(34px,5.6vw,72px);line-height:1.04;margin:14px 0 0}
.lw-sub{color:var(--mid);margin:18px auto 0!important;max-width:62ch;font-size:16.5px}
.lw-cap .lw-byline{display:block;margin-top:20px!important}

/* 02 exclusives */
.lw-excls-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0}
.lw-excls-grid>article{padding:0 clamp(16px,2.2vw,34px);border-left:1px solid var(--line)}
.lw-excls-grid>article:first-child{padding-left:0;border-left:0}
.lw-excls-grid>article:last-child{padding-right:0}
@media(max-width:860px){.lw-excls-grid{grid-template-columns:1fr}.lw-excls-grid>article{padding:34px 0 0;border-left:0;border-top:1px solid var(--line)}.lw-excls-grid>article:first-child{padding-top:0;border-top:0}}
.lw-excls-grid .lw-frame{margin-bottom:20px}
.lw-who{font-family:"Playfair Display",Georgia,serif;font-size:clamp(26px,2.9vw,36px);line-height:1.08;margin-top:10px!important}
.lw-excls-grid h3{font-size:19px;line-height:1.3;margin-top:8px}
.lw-pull{font-family:"Playfair Display",Georgia,serif;font-size:17px;line-height:1.42;margin-top:12px!important}

/* 03 grid */
.lw-grid-items{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(22px,2.6vw,38px) clamp(20px,2.4vw,34px)}
@media(max-width:1000px){.lw-grid-items{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.lw-grid-items{grid-template-columns:1fr}}
.lw-grid-items>article:nth-child(1),.lw-grid-items>article:nth-child(2){grid-column:span 2}
.lw-grid-items>article:nth-child(1) .lw-frame,.lw-grid-items>article:nth-child(2) .lw-frame{aspect-ratio:16/9}
.lw-grid-items>article:nth-child(1) h3,.lw-grid-items>article:nth-child(2) h3{font-size:clamp(22px,2.4vw,28px)}
@media(max-width:560px){.lw-grid-items>article:nth-child(1),.lw-grid-items>article:nth-child(2){grid-column:span 1}}
.lw-grid-items .lw-frame{margin-bottom:14px}
.lw-grid-items h3{font-size:19px;line-height:1.26;margin-top:8px}
.lw-grid-items .lw-byline{display:block;margin-top:10px}

/* partner unit */
.lw-partner{background:var(--off);padding:clamp(18px,2vw,26px);margin-top:clamp(22px,2.6vw,38px)}
.lw-partner .lw-frame{background:#FBF9F4;margin:12px 0 16px}
.lw-partner h3{font-size:clamp(22px,2.4vw,28px);line-height:1.2}

/* 04 the edit */
.lw-edit{background:var(--off)}
.lw-prods{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:clamp(16px,1.8vw,26px)}
@media(max-width:1000px){.lw-prods{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:560px){.lw-prods{grid-template-columns:repeat(2,minmax(0,1fr))}}
.lw-editfoot{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-top:40px;padding-top:22px;border-top:1px solid var(--line)}
.lw-editfoot p{color:var(--mid);max-width:54ch;font-size:14px}

/* ShopWP output, brought into the house style */
.lw-prods .wps-product,.lw-prods .wps-products-item{background:transparent;border:0;box-shadow:none;padding:0}
.lw-prods .wps-product-title,.lw-prods .wps-products-title{font-family:"Playfair Display",Georgia,serif;font-size:15.5px;line-height:1.3;font-weight:400}
.lw-prods .wps-product-price{font-size:13.5px;color:var(--ink)}
.lw-prods .wps-btn,.lw-prods button{background:transparent;border:0;border-bottom:1px solid var(--ink);border-radius:0;padding:0 0 2px;font-family:"DM Sans",sans-serif;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink)}
.lw-prods .wps-btn:hover,.lw-prods button:hover{background:transparent;color:var(--mid);border-color:var(--mid)}

/* 05 circle */
.lw-circle{background:var(--black)}
.lw-circle,.lw-circle h2,.lw-circle a{color:#fff}
.lw-circle .lw-inner{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(34px,5vw,80px);align-items:center}
@media(max-width:860px){.lw-circle .lw-inner{grid-template-columns:1fr;gap:34px}}
.lw-circle .lw-eyebrow{color:rgba(255,255,255,.75)}
.lw-circle h2{font-size:clamp(28px,4vw,48px);line-height:1.08;margin:16px 0 0}
.lw-circle .lw-body{color:rgba(255,255,255,.8);margin-top:20px!important;max-width:46ch}
.lw-benefits{list-style:none;margin:26px 0 0;padding:0}
.lw-benefits li{padding:14px 0;border-top:1px solid rgba(255,255,255,.22);font-size:14.5px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;color:#fff}
.lw-benefits li:last-child{border-bottom:1px solid rgba(255,255,255,.22)}
.lw-benefits span{color:rgba(255,255,255,.7);font-size:11px;letter-spacing:.12em;text-transform:uppercase;align-self:center}
.lw-circle .lw-frame{background:#111}

/* buttons */
.lw-btn{display:inline-block;margin-top:28px;padding:15px 32px;border:1px solid #fff;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#fff}
.lw-btn:hover{background:#fff;color:var(--black)}
.lw-btn--dark{margin-top:0;border-color:var(--black);color:var(--black)}
.lw-btn--dark:hover{background:var(--black);color:#fff}

/* structured credits, usable inside any article via [lewis_credits] */
.lw-credits{margin:48px 0 0;padding:22px 0;border-top:1px solid #1A1A1A;border-bottom:1px solid #E5E5E3;font-family:"DM Sans",system-ui,sans-serif}
.lw-credits dl{display:grid;grid-template-columns:minmax(0,130px) minmax(0,1fr);gap:8px 20px;margin:0;font-size:13.5px}
.lw-credits dt{font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:#6B6B6B;padding-top:3px}
.lw-credits dd{margin:0}
.lw-shopblock{margin:40px 0}
.lw-shopblock .lw-eyebrow{margin-bottom:16px;display:block}

/* cream ground: The Edit needs to read as a distinct band against it */
.lewis-experience .lw-edit{background:#EDE6D8}
.lewis-experience .lw-credits{border-top-color:#1A1A1A;border-bottom-color:#E0D9CB}

/* Crop focus. Faces and garments sit in the upper third of almost every
   editorial frame, so a centred crop beheads the subject. 30% from the top
   keeps heads in. Per-post override: add a "lewis_focus" custom field with a
   value like "50% 15%" (lower number = crop higher up the image). */
.lewis-experience .lw-frame--portrait img{object-position:var(--lw-focus,50% 22%)}
.lewis-experience .lw-frame--tall img{object-position:var(--lw-focus,50% 20%)}

/* Zone headings are doors, so they must look like doors on hover */
.lewis-experience .lw-zonehead h2 a{color:var(--ink);text-decoration:none;border-bottom:1px solid transparent;padding-bottom:2px}
.lewis-experience .lw-zonehead h2 a:hover{border-bottom-color:var(--ink);color:var(--ink)}
/* See all: centred under the grid, hairline above, quiet */
.lewis-experience .lw-seeall{margin-top:clamp(32px,3.6vw,48px);padding-top:22px;border-top:1px solid var(--line);text-align:center}
.lewis-experience .lw-seeall a{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--line);padding-bottom:3px}
.lewis-experience .lw-seeall a:hover{border-bottom-color:var(--ink)}

/* Covers: the archive as brand equity. Print ratio, no copy competing. */
.lewis-experience .lw-covergrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(22px,2.8vw,44px)}
@media(max-width:1000px){.lewis-experience .lw-covergrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.lewis-experience .lw-covergrid{grid-template-columns:1fr}}
.lw-frame--cover{aspect-ratio:3/4}
.lw-frame--cover img{object-position:50% 50%!important}
.lewis-experience .lw-covergrid h3{font-size:18px;line-height:1.26;margin-top:8px}
.lewis-experience .lw-covergrid .lw-eyebrow{margin-top:14px!important;display:block}
