/* HairBeautyandNails.com - editorial magazine styles */
@font-face{font-family:"Oswald";src:url("../fonts/oswald.woff2") format("woff2");font-weight:200 700;font-display:swap}
@font-face{font-family:"Libre Caslon Text";src:url("../fonts/caslon-regular.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Libre Caslon Text";src:url("../fonts/caslon-italic.woff2") format("woff2");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"Libre Caslon Text";src:url("../fonts/caslon-bold.woff2") format("woff2");font-weight:700;font-display:swap}
:root{--paper:#f5efe8;--paper2:#ece3d9;--ink:#2a2526;--ink2:#5b5152;--rose:#c4979c;--mauve:#8e6576;--plum:#5e3b4a;--rule:#cdbfb3;
--head:"Oswald","Bebas Neue","Arial Narrow","Roboto Condensed",Impact,sans-serif;--serif:"Libre Caslon Text",Georgia,"Times New Roman",serif;--cc-accent:#8e6576}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.6 var(--serif)}
img{max-width:100%;height:auto;display:block}
a{color:var(--plum)}
a:focus-visible,button:focus-visible{outline:3px solid var(--mauve);outline-offset:2px}
.skip{position:absolute;left:-999px;top:0;background:var(--ink);color:#fff;padding:8px 12px;z-index:10}
.skip:focus{left:8px}
.wrap{max-width:1320px;margin:0 auto;padding:0 28px}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.kicker{font:600 .78rem/1 var(--head);letter-spacing:.22em;text-transform:uppercase;color:var(--mauve)}
/* masthead */
.topline{border-bottom:1px solid var(--rule);font:500 .72rem/1 var(--head);letter-spacing:.18em;text-transform:uppercase;color:var(--ink2)}
.topline .wrap{display:flex;justify-content:space-between;gap:12px;padding-top:10px;padding-bottom:10px}
.mast{text-align:center}
.mast.wrap{padding-top:16px;padding-bottom:10px}
.logo{display:inline-block;text-decoration:none;color:var(--ink);font:700 clamp(2.4rem,7vw,5.6rem)/.92 var(--head);letter-spacing:.01em;text-transform:uppercase}
.logo span{color:var(--mauve)}
@media (max-width:600px){.logo{font-size:clamp(1.4rem,9vw,2.6rem);white-space:nowrap;letter-spacing:0}}
.tag{margin:8px 0 0;font-style:italic;color:var(--ink2);font-size:.98rem}
.nav{border-top:3px double var(--ink);border-bottom:1px solid var(--ink)}
.nav ul{list-style:none;margin:0 auto;padding:0 20px;display:flex;justify-content:center;gap:4px;max-width:1320px;overflow-x:auto;scrollbar-width:none}
.nav ul::-webkit-scrollbar{display:none}
.nav a{display:block;padding:12px 14px;font:600 .86rem/1 var(--head);letter-spacing:.16em;text-transform:uppercase;color:var(--ink);text-decoration:none;white-space:nowrap}
.nav a:hover,.nav a[aria-current]{color:var(--mauve);box-shadow:inset 0 -3px 0 var(--mauve)}
/* the spread */
.spread{display:grid;grid-template-columns:1fr 1fr;margin:0}
.panel{grid-column:1;grid-row:1;background:var(--t,var(--rose));position:relative;min-height:clamp(420px,60vh,640px);overflow:hidden}
.panel img{width:100%;height:100%;object-fit:cover;object-position:50% 30%;filter:grayscale(1) contrast(1.08) brightness(1.06);mix-blend-mode:multiply;position:absolute;inset:0}
.panel .credit{position:absolute;right:10px;bottom:10px;margin:0;font:500 .62rem/1 var(--head);letter-spacing:.14em;text-transform:uppercase;color:#fff;opacity:.85;writing-mode:vertical-rl;transform:rotate(180deg)}
.spread-top{grid-column:2;grid-row:1;padding:48px 56px 28px;align-self:end}
.spread-hl{grid-column:1/-1;grid-row:2;display:grid;grid-template-columns:1fr 1fr;margin:0;font:700 clamp(2.4rem,var(--hl,8.4vw),8.6rem)/.86 var(--head);text-transform:uppercase;letter-spacing:-.005em}
.spread-hl .w{background:var(--t,var(--rose));color:#fff;text-align:right;padding:0 .14em .12em 28px}
.spread-hl .d{color:var(--ink);padding:0 28px .12em .14em}
.spread-hl .and{position:absolute}
.stand{font-size:clamp(1.15rem,1.7vw,1.5rem);line-height:1.38;margin:14px 0 18px}
.byline{font:500 .74rem/1.4 var(--head);letter-spacing:.18em;text-transform:uppercase;color:var(--ink2);margin:0}
.byline b{color:var(--ink)}
.spread-sub{grid-column:1/-1;grid-row:3;display:grid;grid-template-columns:1fr 1fr}
.spread-sub .l{background:var(--t,var(--rose));min-height:16px}
.btn{display:inline-block;margin-top:18px;padding:13px 22px;background:var(--ink);color:#fff;text-decoration:none;font:600 .82rem/1 var(--head);letter-spacing:.18em;text-transform:uppercase}
.btn:hover{background:var(--mauve)}
.btn.ghost{background:transparent;color:var(--ink);border:1px solid var(--ink)}
.btn.ghost:hover{background:var(--ink);color:#fff}
/* article body: justified multi-column */
.article{padding:44px 0 20px}
.cols{columns:3 300px;column-gap:44px;column-rule:1px solid var(--rule);text-align:justify;hyphens:auto;-webkit-hyphens:auto}
.cols p{margin:0 0 1em}
.cols h2{font:700 1.05rem/1.2 var(--head);letter-spacing:.12em;text-transform:uppercase;color:var(--mauve);margin:1.4em 0 .5em;break-after:avoid}
.cols h2:first-child{margin-top:0}
.lead{font:700 .88em/1 var(--head);letter-spacing:.14em;text-transform:uppercase;color:var(--ink)}
.pull{break-inside:avoid;margin:1.2em 0;padding:.7em 0;border-top:3px solid var(--ink);border-bottom:1px solid var(--ink);font:600 1.6rem/1.08 var(--head);text-transform:uppercase;color:var(--mauve);text-align:left}
.fig{break-inside:avoid;margin:0 0 1.2em}
.fig figcaption,.cap{font:500 .72rem/1.4 var(--head);letter-spacing:.08em;text-transform:uppercase;color:var(--ink2);margin-top:6px;text-align:left}
.endmark{display:inline-block;width:.6em;height:.6em;background:var(--mauve);margin-left:.3em;vertical-align:baseline}
.note{border-left:3px solid var(--mauve);padding:10px 16px;background:var(--paper2);font-size:.92rem}
/* folio */
.folio{border-top:1px solid var(--ink);margin-top:40px}
.folio .wrap{display:flex;justify-content:space-between;gap:14px;padding-top:10px;padding-bottom:10px;font:500 .7rem/1 var(--head);letter-spacing:.18em;text-transform:uppercase;color:var(--ink2)}
.folio b{color:var(--ink);font-weight:700}
/* sections & grids */
.sechead{display:flex;align-items:baseline;justify-content:space-between;gap:16px;border-bottom:3px solid var(--ink);padding-bottom:8px;margin:56px 0 24px}
.sechead h2{margin:0;font:700 clamp(1.8rem,3.4vw,2.8rem)/1 var(--head);text-transform:uppercase}
.sechead a{font:600 .78rem/1 var(--head);letter-spacing:.16em;text-transform:uppercase;color:var(--ink)}
.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:34px 28px}
.grid.two{grid-template-columns:repeat(2,1fr)}
.card{display:flex;flex-direction:column;text-decoration:none;color:var(--ink)}
.card .ph{background:var(--t,var(--rose));aspect-ratio:4/3;overflow:hidden}
.card .ph img{width:100%;height:100%;object-fit:cover;transition:filter .35s,transform .5s}
.card.duo .ph img{filter:grayscale(1) contrast(1.08);mix-blend-mode:multiply}
.card:hover .ph img{transform:scale(1.03)}
.card.duo:hover .ph img{filter:none;mix-blend-mode:normal}
.panel img.photo,.card .ph img.photo,.tile img.photo,.fig img.photo,.sample .ph img.photo{object-position:50% 12%}
.panel img.photo,.card.duo .ph img.photo,.tile img.photo{filter:grayscale(1) contrast(1.02) brightness(1.18)}
.fig img.photo{aspect-ratio:3/4;object-fit:cover;width:100%}
.card h3{font:700 1.5rem/1.02 var(--head);text-transform:uppercase;margin:12px 0 8px}
.card h3 em{font-style:normal;color:var(--mauve)}
.card p{margin:0;color:var(--ink2);font-size:.95rem;line-height:1.5}
.card .kicker{margin-top:14px}
.contents{counter-reset:c;list-style:none;margin:0;padding:0;columns:2 300px;column-gap:44px}
.contents li{break-inside:avoid;display:flex;gap:16px;padding:12px 0;border-bottom:1px solid var(--rule)}
.contents .n{font:700 1.8rem/1 var(--head);color:var(--mauve);min-width:2.2ch}
.contents a{color:var(--ink);text-decoration:none;font:600 1.1rem/1.15 var(--head);text-transform:uppercase;letter-spacing:.02em}
.contents a:hover{color:var(--mauve)}
.contents small{display:block;font:400 .9rem/1.4 var(--serif);text-transform:none;color:var(--ink2);margin-top:4px;letter-spacing:0}
.tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:0}
.tile{position:relative;display:block;aspect-ratio:3/4;background:var(--t);overflow:hidden;color:#fff;text-decoration:none}
.tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.1);mix-blend-mode:multiply;transition:transform .5s}
.tile:hover img{transform:scale(1.04)}
.tile span{position:absolute;left:18px;right:18px;bottom:16px;font:700 clamp(2rem,3.6vw,3.4rem)/.9 var(--head);text-transform:uppercase}
.tile small{display:block;font:500 .72rem/1.3 var(--head);letter-spacing:.16em;margin-top:8px}
.band{display:grid;grid-template-columns:1fr 1fr;margin-top:64px}
.band .w{background:var(--plum);color:#fff;padding:48px;font:700 clamp(2.6rem,6vw,5.6rem)/.88 var(--head);text-transform:uppercase;text-align:right;display:flex;align-items:flex-start;justify-content:flex-end}
.band .d{padding:48px;background:var(--paper2)}
.band .d h2{margin:0 0 12px;font:700 clamp(2.6rem,6vw,5.6rem)/.88 var(--head);text-transform:uppercase}
.sample{position:relative;border:2px dashed var(--mauve);padding:18px;background:#fbf8f4}
.sample .badge{position:absolute;top:-13px;left:16px;background:var(--mauve);color:#fff;font:600 .72rem/1 var(--head);letter-spacing:.18em;text-transform:uppercase;padding:6px 10px}
.sample .in{display:grid;grid-template-columns:minmax(180px,1fr) 2fr;gap:24px;align-items:center}
.sample h3{margin:0 0 4px;font:700 1.8rem/1 var(--head);text-transform:uppercase}
.sample .place{font:500 .78rem/1 var(--head);letter-spacing:.16em;text-transform:uppercase;color:var(--mauve);margin:0 0 10px}
.sample .ph{background:var(--t,var(--rose))}
.sample .ph img{filter:grayscale(1);mix-blend-mode:multiply;aspect-ratio:4/3;object-fit:cover;width:100%}
.prose{max-width:760px}
.prose h2{font:700 1.6rem/1.1 var(--head);text-transform:uppercase;margin:1.6em 0 .4em}
.prose li{margin-bottom:.4em}
.intro{font-size:1.15rem;line-height:1.55;max-width:820px}
/* footer */
.foot{background:var(--ink);color:#e9e0d8;margin-top:0;padding:44px 0 20px;font-size:.95rem}
.foot a{color:#fff}
.foot .cols4{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:28px}
.foot h2{font:600 .8rem/1 var(--head);letter-spacing:.2em;text-transform:uppercase;color:var(--rose);margin:0 0 12px}
.foot ul{list-style:none;margin:0;padding:0}
.foot li{margin:0 0 8px}
.foot .flogo{font:700 2rem/1 var(--head);text-transform:uppercase;color:#fff;margin:0 0 8px}
.foot .base{border-top:1px solid #4a4142;margin-top:28px;padding-top:14px;font-size:.84rem;color:#bfb3aa;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
/* responsive */
@media (max-width:1100px){.grid{grid-template-columns:repeat(2,1fr)}.tiles{grid-template-columns:repeat(2,1fr)}.spread-top{padding:36px 32px 22px}}
@media (max-width:760px){
 body{font-size:16.5px}
 .wrap{padding:0 18px}
 .topline .wrap span:last-child{display:none}
 .nav ul{justify-content:flex-start}
 .spread{grid-template-columns:1fr}
 .panel{grid-column:1;grid-row:1;min-height:0;aspect-ratio:4/3}
 .panel:has(img.photo){aspect-ratio:4/5}
 .spread-hl{grid-row:2;grid-template-columns:1fr;font-size:clamp(2.4rem,var(--hlm,16vw),5.2rem)}
 .spread-hl .w{text-align:left;padding:.08em 18px .1em}
 .spread-hl .d{padding:.1em 18px 0}
 .spread-top{grid-column:1;grid-row:3;padding:18px 18px 10px}
 .spread-sub{display:none}
 .grid,.grid.two{grid-template-columns:1fr}
 .band{grid-template-columns:1fr}.band .w{justify-content:flex-start;text-align:left;padding:28px 18px}.band .d{padding:28px 18px}
 .sample .in{grid-template-columns:1fr}
 .foot .cols4{grid-template-columns:1fr 1fr}
 .folio .wrap span:nth-child(2){display:none}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}
