/* BLACKSNOW V39 / subtle agency editorial layer
   Applied to the PUBLIC website only. The multi-page Perfex portal remains functional and restrained. */
:root{--v39-line:#E5DAE0;--v39-bordeaux:#96556A;--v39-ink:#211E27}
body:not(.portal-body){background:#FAF8FA}
body:not(.portal-body) :where(.section-head h2,.v29-section-head h2,.v37-section-head h2,.v37-crosslinks h2,.site-section>h2){letter-spacing:-.052em}
/* Considered editorial typography, not decoration for its own sake */
body:not(.portal-body) :where(.section-head,.v29-section-head,.v37-section-head){position:relative}
body:not(.portal-body) :where(.section-head,.v29-section-head,.v37-section-head) .eyebrow{letter-spacing:.18em}
/* A thin horizontal signature: a recognisable, quiet line gesture */
body:not(.portal-body) :where(.section-head,.v29-section-head,.v37-section-head)::before{content:"";display:block;width:40px;height:3px;border-radius:9px;background:var(--brand-accent,#A76077);margin-bottom:22px;opacity:.8}
/* Keep the hero full bleed and the copy on the original content grid */
body:not(.portal-body) :where(.hero.hero-bleed,.v29-hero,.v37-hero,.site-pagehero){overflow:hidden}
body:not(.portal-body) .hero.hero-bleed::before{content:"";position:absolute;z-index:0;right:8%;top:-22%;width:min(56vw,720px);aspect-ratio:1;border:1px solid rgba(241,202,216,.11);border-radius:48% 52% 57% 43%;transform:rotate(-15deg);pointer-events:none}
body:not(.portal-body) .hero.hero-bleed>.hero-grid{position:relative;z-index:1}
body:not(.portal-body) .v29-hero::after{border:1px solid rgba(255,255,255,.11);border-radius:44% 56% 43% 57%;transform:rotate(-18deg);pointer-events:none}
body:not(.portal-body) .v29-hero .v29-overline{letter-spacing:.16em}
body.brand-design .v29-hero{background:linear-gradient(122deg,#25202A 0%,#35242E 58%,#5C384B 100%)}
body.brand-event .v29-hero{background:linear-gradient(120deg,#28232B 0%,#3B302F 62%,#544136 100%)}
/* Editorial project-style typography on selected feature surfaces */
body:not(.portal-body) :where(.v29-study-graphic,.v29-portfolio-art,.v37-ref-art){position:relative;isolation:isolate}
body:not(.portal-body) :where(.v29-study-graphic,.v29-portfolio-art,.v37-ref-art)::after{content:"BLACKSNOW / CREATIVE STUDY";position:absolute;bottom:17px;left:19px;z-index:3;color:rgba(255,255,255,.9);font:700 10px/1.4 Inter,Arial,sans-serif;letter-spacing:.2em;pointer-events:none}
body:not(.portal-body) :where(.brand-card,.bs-lockup-v31,.v37-ref-card,.v37-crosslink-cards a,.v29-feature){transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease}
body:not(.portal-body) :where(.brand-card,.bs-lockup-v31,.v37-ref-card,.v37-crosslink-cards a,.v29-feature):hover{transform:translateY(-3px);box-shadow:0 18px 42px rgba(47,30,43,.085)}
/* Editorial label and index on existing high-end showcase cards */
body:not(.portal-body) .brand-card .category{letter-spacing:.12em}
body:not(.portal-body) .brand-card h3{letter-spacing:-.05em}
/* A simple, human element adds personality without cluttering the system */
.v39-editorial{padding:clamp(46px,6vw,100px) 0;border-top:1px solid var(--v39-line);border-bottom:1px solid var(--v39-line);margin:clamp(36px,5vw,80px) 0}
.v39-editorial-inner{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(270px,.8fr);gap:clamp(28px,5vw,78px);align-items:center}
.v39-editorial-label{font:700 11px/1.5 Inter,Arial,sans-serif;letter-spacing:.18em;color:#905F73;text-transform:uppercase}
.v39-editorial h2{font-size:clamp(40px,5.3vw,76px);letter-spacing:-.065em;line-height:1.04;color:#211E27;margin:12px 0 18px}
.v39-editorial h2 em{font-style:normal;color:#A96C80}
.v39-editorial p{font-size:17px;line-height:1.7;color:#69616D;max-width:610px}
.v39-editorial-art{min-height:320px;position:relative;border-radius:28px;background:#EDE4E8;overflow:hidden;isolation:isolate}
.v39-editorial-art::before{content:"";position:absolute;left:12%;top:-37%;width:90%;aspect-ratio:1;border:clamp(42px,6vw,85px) solid #B88597;border-radius:46% 54% 48% 52%;transform:rotate(-28deg)}
.v39-editorial-art::after{content:"";position:absolute;inset:auto 0 0 0;height:46%;background:linear-gradient(0deg,rgba(34,29,37,.34),transparent)}
.v39-editorial-art span{position:absolute;z-index:1;bottom:24px;left:25px;color:#fff;font:700 13px/1.5 Inter,Arial,sans-serif;letter-spacing:.12em}
.v39-editorial-art .v39-art-mark{position:absolute;z-index:1;right:28px;top:25px;width:58px;height:58px;object-fit:contain;filter:drop-shadow(0 8px 12px rgba(0,0,0,.12))}
.v39-note{border-left:3px solid #A96C80;padding-left:18px;margin-top:24px;color:#7A6B74;font:500 14px/1.6 Inter,Arial,sans-serif}
/* avoid inconsistent alignment, especially on narrower widths */
@media(max-width:850px){.v39-editorial-inner{grid-template-columns:1fr}.v39-editorial-art{min-height:260px}.v39-editorial{padding:48px 0}}
@media(max-width:520px){.v39-editorial h2{font-size:clamp(37px,10vw,53px)}.v39-editorial-art{min-height:235px}.v39-editorial p{font-size:15px}}
@media(prefers-reduced-motion:reduce){body:not(.portal-body) :where(.brand-card,.bs-lockup-v31,.v37-ref-card,.v37-crosslink-cards a,.v29-feature){transition:none;transform:none!important}}
