/*
Theme Name: LA Design Edit
Theme URI: https://ladesignedit.com
Description: After Dark. A cinematic, glamorous editorial theme for LA Design Edit. Full-bleed imagery, Playfair Display couture type, Spectral body, Outfit labels, champagne gold and electric sunset-rose on warm black, Art Deco hairlines. Hollywood luxury after dark.
Author: LA Design Edit
Version: 2.0
Requires at least: 6.0
Tested up to: 7.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: ladesignedit
*/

:root{
  --noir:#141014; --noir-2:#1C161E; --noir-3:#271E2A;
  --ink:#0B090C;
  --ivory:#F7F0E6; --ivory-2:#EDE3D3;
  --ivory-mut:#C7BBA9; --ivory-sub:#92897A;
  --paper:#F7F0E6; --paper-2:#EFE6D7;
  --paper-ink:#1A1418; --paper-ink-2:#4E434C; --paper-ink-3:#857A82;
  --champagne:#D8B074; --champagne-2:#ECD3A2; --champagne-deep:#A77E45;
  --rose:#F4577C; --rose-press:#E5436A; --rose-ink:#B82F57; --rose-tint:rgba(244,87,124,.14);
  --gilt:rgba(216,176,116,.30);
  --gilt-soft:rgba(216,176,116,.16);
  --soft-line:rgba(247,240,230,.13);
  --paper-line:rgba(26,20,24,.13);
  --content-max:1320px;
  --font-display:'Playfair Display', Georgia, serif;
  --font-serif:'Spectral', Georgia, serif;
  --font-sans:'Outfit', system-ui, -apple-system, sans-serif;
  --ease:cubic-bezier(.22,.61,.27,1);
}
*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{background:var(--noir);color:var(--ivory);font-family:var(--font-serif);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;}
::selection{background:var(--rose);color:#fff;}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
.wrap{max-width:var(--content-max);margin:0 auto;padding-inline:48px;}

/* gilt hairline: the deco rule */
.gilt{height:1px;border:none;margin:0;background:linear-gradient(90deg,transparent,var(--champagne),transparent);opacity:.55;}

/* kicker / labels */
.kicker{font-family:var(--font-sans);font-weight:600;font-size:11.5px;letter-spacing:.34em;text-transform:uppercase;color:var(--champagne);}

/* utility rail */
.util{border-bottom:1px solid var(--gilt-soft);background:var(--ink);}
.util .wrap{display:flex;align-items:center;justify-content:space-between;height:40px;}
.util .meta{color:var(--ivory-sub);font-family:var(--font-sans);font-weight:500;font-size:11px;letter-spacing:.16em;text-transform:uppercase;}
.util .meta .v{color:var(--champagne);}

/* masthead */
.masthead{position:sticky;top:0;z-index:30;background:rgba(20,16,20,.86);backdrop-filter:blur(12px);border-bottom:1px solid var(--gilt-soft);}
.masthead .bar{display:flex;align-items:flex-end;justify-content:space-between;padding:24px 0 18px;}
.brand{display:block;line-height:.86;}
.brand .word{font-family:var(--font-display);font-weight:600;font-size:42px;letter-spacing:.005em;color:var(--ivory);}
.brand .word .sun{color:var(--rose);}
.brand .tag{display:block;margin-top:11px;white-space:nowrap;font-family:var(--font-sans);font-weight:500;font-size:10.5px;letter-spacing:.38em;text-transform:uppercase;color:var(--champagne);}
.actions{display:flex;align-items:center;gap:13px;}
.icon-btn{width:42px;height:42px;border:1px solid var(--gilt);border-radius:999px;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:border-color .2s var(--ease),background .2s var(--ease);}
.icon-btn:hover{background:rgba(216,176,116,.10);border-color:var(--champagne);}
.btn{font-family:var(--font-sans);font-weight:600;font-size:13px;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;padding:13px 28px;border-radius:999px;cursor:pointer;border:1px solid var(--rose);background:var(--rose);color:#fff;transition:background .2s var(--ease),transform .2s var(--ease),box-shadow .2s var(--ease);}
.btn:hover{background:var(--rose-press);border-color:var(--rose-press);transform:translateY(-1px);box-shadow:0 10px 30px -12px var(--rose);}
.btn-ghost{background:transparent;border-color:var(--champagne);color:var(--champagne);}
.btn-ghost:hover{background:rgba(216,176,116,.12);border-color:var(--champagne-2);color:var(--champagne-2);box-shadow:none;}
nav.sections{border-top:1px solid var(--soft-line);}
nav.sections .wrap{display:flex;gap:34px;align-items:center;}
nav.sections a{font-family:var(--font-sans);font-weight:500;font-size:12.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--ivory-mut);padding:15px 0;margin-bottom:-1px;white-space:nowrap;border-bottom:1.5px solid transparent;transition:color .2s var(--ease),border-color .2s var(--ease);}
nav.sections a:hover{color:var(--ivory);}
nav.sections a.active,nav.sections li.current-menu-item a{color:var(--champagne);border-bottom-color:var(--champagne);}
nav.sections ul{display:flex;gap:34px;list-style:none;margin:0;padding:0;}
nav.sections .loc{margin-left:auto;color:var(--champagne);font-family:var(--font-sans);font-weight:500;font-size:11px;letter-spacing:.2em;text-transform:uppercase;align-self:center;}

/* hero: full-bleed cinematic */
.hero{position:relative;min-height:80vh;display:flex;align-items:flex-end;overflow:hidden;background:var(--ink);}
.hero-media{position:absolute;inset:0;}
.hero-media img{width:100%;height:100%;object-fit:cover;transform:scale(1.02);}
.hero-media .tonal{width:100%;height:100%;}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,9,12,.12) 0%,rgba(11,9,12,.28) 40%,rgba(11,9,12,.78) 78%,rgba(20,16,20,.97) 100%);}
.hero-inner{position:relative;z-index:2;width:100%;padding-block:64px 70px;}
.hero h1{font-family:var(--font-display);font-weight:600;font-size:clamp(46px,7vw,104px);line-height:.98;letter-spacing:-.012em;color:var(--ivory);margin:20px 0 22px;max-width:18ch;text-wrap:balance;}
.hero h1 a:hover{color:var(--champagne-2);}
.hero .lede{font-family:var(--font-serif);font-weight:300;font-size:clamp(18px,1.6vw,23px);line-height:1.5;color:var(--ivory-mut);margin:0 0 30px;max-width:52ch;}
.hero .row{display:flex;align-items:center;gap:22px;flex-wrap:wrap;}
.hero .meta{color:var(--ivory-mut);font-family:var(--font-sans);font-weight:500;font-size:11.5px;text-transform:uppercase;letter-spacing:.16em;}

/* section heads */
.sec-head{display:flex;align-items:baseline;justify-content:space-between;margin:72px 0 32px;}
.sec-head h2{font-family:var(--font-display);font-weight:500;font-style:italic;font-size:clamp(28px,3vw,40px);letter-spacing:-.01em;color:var(--ivory);margin:0;display:flex;align-items:center;gap:18px;}
.sec-head h2::before{content:"";width:42px;height:1px;background:var(--champagne);opacity:.8;}
.link{font-family:var(--font-sans);font-weight:600;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--champagne);display:inline-flex;align-items:center;gap:8px;white-space:nowrap;transition:color .2s var(--ease);}
.link:hover{color:var(--rose);}
.link .ar{font-family:var(--font-serif);font-size:16px;transition:transform .2s var(--ease);}
.link:hover .ar{transform:translateX(4px);}

/* card grid: large, editorial, portrait */
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:34px;}
.card{display:flex;flex-direction:column;}
.card .ph{position:relative;margin-bottom:20px;overflow:hidden;border-radius:2px;}
.card .ph::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(11,9,12,.5) 100%);pointer-events:none;}
.card .ph img,.card .tonal{width:100%;aspect-ratio:3/4;object-fit:cover;display:block;}
.card .ph img{transition:transform .7s var(--ease);}
.card:hover .ph img{transform:scale(1.06);}
.card .ph{box-shadow:0 0 0 0 var(--champagne);transition:box-shadow .25s var(--ease);}
.card:hover .ph{box-shadow:0 0 0 1px var(--champagne),0 22px 50px -28px rgba(0,0,0,.8);}
.tonal{display:flex;align-items:center;justify-content:center;background:var(--noir-2);}
.tonal.dark{background:var(--ink);}
.tonal span{font-family:var(--font-sans);font-weight:500;font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--champagne-deep);}
.card .cat{font-family:var(--font-sans);font-weight:600;font-size:10.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--champagne);}
.card h3{font-family:var(--font-display);font-weight:600;font-size:24px;line-height:1.14;letter-spacing:-.008em;color:var(--ivory);margin:12px 0 10px;text-wrap:balance;transition:color .2s var(--ease);}
.card:hover h3{color:var(--champagne-2);}
.card p{font-family:var(--font-serif);font-weight:300;font-size:16px;line-height:1.55;color:var(--ivory-mut);margin:0 0 14px;text-wrap:pretty;}
.card .byl{font-family:var(--font-sans);font-weight:500;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--ivory-sub);margin-top:auto;}

/* neighborhood chips */
.hoodlinks{display:flex;flex-wrap:wrap;gap:11px;margin-top:34px;}
.hoodlinks a{font-family:var(--font-sans);font-weight:500;font-size:12.5px;letter-spacing:.08em;text-transform:uppercase;padding:9px 20px;border-radius:999px;border:1px solid var(--gilt);color:var(--ivory-mut);transition:all .2s var(--ease);}
.hoodlinks a:hover{border-color:var(--rose);color:#fff;background:var(--rose-tint);}

/* marquee list: gilt-numbered */
.list{margin-top:8px;border-top:1px solid var(--gilt-soft);}
.list .row{display:grid;grid-template-columns:110px 1fr 190px;gap:32px;align-items:center;padding:30px 0;border-bottom:1px solid var(--gilt-soft);cursor:pointer;transition:background .2s var(--ease),padding-inline .2s var(--ease);}
.list .row:hover{background:linear-gradient(90deg,rgba(216,176,116,.06),transparent);padding-inline:20px;margin-inline:-20px;}
.list .num{font-family:var(--font-display);font-style:italic;font-weight:500;font-size:50px;line-height:1;color:var(--champagne);opacity:.6;}
.list .cat{font-family:var(--font-sans);font-weight:600;font-size:10.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--champagne);}
.list h3{font-family:var(--font-display);font-weight:600;font-size:27px;line-height:1.1;letter-spacing:-.01em;color:var(--ivory);margin:8px 0 0;transition:color .2s var(--ease);}
.list .row:hover h3{color:var(--champagne-2);}
.list .right{text-align:right;font-family:var(--font-sans);font-weight:500;font-size:10.5px;text-transform:uppercase;letter-spacing:.12em;color:var(--ivory-sub);line-height:2;}

/* dispatch: the deco band */
.dispatch{position:relative;background:var(--ink);margin-top:96px;border-top:1px solid var(--gilt);border-bottom:1px solid var(--gilt);}
.dispatch .wrap{display:grid;grid-template-columns:1fr 1fr;gap:54px;align-items:center;padding:78px 48px;}
.dispatch .k{font-family:var(--font-sans);font-weight:600;font-size:11.5px;letter-spacing:.3em;text-transform:uppercase;color:var(--champagne);}
.dispatch h2{font-family:var(--font-display);font-weight:500;font-size:clamp(30px,3.4vw,46px);line-height:1.04;letter-spacing:-.012em;color:var(--ivory);margin:18px 0 0;text-wrap:balance;}
.dispatch h2 em{font-style:italic;color:var(--champagne-2);}
.signup{display:flex;flex-direction:column;gap:14px;}
.signup .field{display:flex;border:1px solid var(--gilt);border-radius:999px;padding:6px;background:rgba(216,176,116,.05);}
.signup input{flex:1;border:none;padding:13px 22px;font-family:var(--font-sans);font-size:15px;background:transparent;color:var(--ivory);outline:none;}
.signup input::placeholder{color:var(--ivory-sub);}
.signup button{font-family:var(--font-sans);font-weight:600;font-size:12.5px;letter-spacing:.1em;text-transform:uppercase;background:var(--rose);color:#fff;border:none;border-radius:999px;padding:13px 28px;cursor:pointer;transition:background .2s var(--ease);}
.signup button:hover{background:var(--rose-press);}
.signup .fine{font-family:var(--font-sans);font-weight:500;font-size:10.5px;text-transform:uppercase;letter-spacing:.12em;color:var(--ivory-sub);padding-left:22px;}

/* footer */
footer.site{background:var(--ink);color:var(--ivory);border-top:1px solid var(--gilt-soft);}
footer.site .wrap{padding:64px 48px 44px;}
footer.site .top{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:44px;border-bottom:1px solid var(--soft-line);padding-bottom:40px;}
footer.site .word{font-family:var(--font-display);font-weight:600;font-size:32px;color:var(--ivory);}
footer.site .word .sun{color:var(--rose);}
footer.site .blurb{font-family:var(--font-serif);font-weight:300;font-size:16px;line-height:1.55;color:var(--ivory-mut);margin:16px 0 0;max-width:36ch;}
footer.site .cols{display:flex;gap:60px;}
footer.site .col h4{font-family:var(--font-sans);font-weight:600;font-size:10.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--champagne);margin:0 0 18px;}
footer.site .col a{display:block;font-family:var(--font-serif);font-size:16px;color:var(--ivory-mut);margin-bottom:12px;transition:color .2s var(--ease);}
footer.site .col ul{list-style:none;margin:0;padding:0;}
footer.site .col a:hover{color:var(--champagne);}
footer.site .legal{display:flex;justify-content:space-between;padding-top:26px;flex-wrap:wrap;gap:12px;font-family:var(--font-sans);font-weight:500;font-size:10.5px;text-transform:uppercase;letter-spacing:.14em;color:var(--ivory-sub);}

/* ============ PAPER: article + page reading surface ============ */
.paper{background:var(--paper);color:var(--paper-ink);}
.paper .read{max-width:720px;margin:0 auto;}
.paper .read-wide{max-width:1080px;margin:0 auto;}
.paper .breadcrumb{border-bottom:1px solid var(--paper-line);}
.paper .breadcrumb a{display:inline-flex;align-items:center;gap:8px;padding:20px 0;font-family:var(--font-sans);font-weight:500;font-size:11px;text-transform:uppercase;letter-spacing:.16em;color:var(--paper-ink-3);}
.paper .breadcrumb a:hover{color:var(--rose-ink);}
.paper .arthead{text-align:center;padding:60px 0 28px;}
.paper .arthead .kicker{color:var(--champagne-deep);}
.paper .arthead h1{font-family:var(--font-display);font-weight:600;font-size:clamp(40px,5.2vw,76px);line-height:1.02;letter-spacing:-.014em;color:var(--paper-ink);margin:18px 0 24px;text-wrap:balance;}
.paper .arthead .lede{font-family:var(--font-serif);font-weight:300;font-style:italic;font-size:clamp(19px,2vw,24px);line-height:1.5;color:var(--paper-ink-2);margin:0 auto;max-width:46ch;text-wrap:pretty;}
.paper .byline{display:flex;align-items:center;gap:14px;border-top:1px solid var(--paper-line);border-bottom:1px solid var(--paper-line);padding:18px 0;}
.paper .byline .av{width:48px;height:48px;border-radius:999px;background:var(--rose);color:#fff;font-family:var(--font-display);font-weight:600;font-size:22px;display:flex;align-items:center;justify-content:center;flex:none;}
.paper .byline .nm{font-family:var(--font-sans);font-weight:600;font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--paper-ink);}
.paper .byline .ro{font-family:var(--font-sans);font-weight:500;font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--paper-ink-3);margin-top:3px;}
figure.lead-full{margin:0;width:100%;}
figure.lead-full img{width:100%;height:62vh;min-height:420px;object-fit:cover;}
figure.lead-full figcaption,.paper figcaption{font-family:var(--font-sans);font-size:12px;color:var(--paper-ink-3);margin-top:12px;text-align:center;letter-spacing:.04em;text-transform:uppercase;}
.paper .prose{font-family:var(--font-serif);font-weight:400;font-size:19px;line-height:1.72;color:var(--paper-ink);margin:40px auto 0;text-wrap:pretty;}
.paper .prose p{margin:0 0 1.2em;}
.paper .prose>p:first-of-type::first-letter{font-family:var(--font-display);font-weight:600;font-size:84px;line-height:.72;float:left;margin:10px 14px 0 0;color:var(--champagne-deep);}
.paper .prose a{color:var(--rose-ink);box-shadow:inset 0 -1px 0 var(--rose-ink);transition:background .15s var(--ease);}
.paper .prose a:hover{background:var(--rose-tint);}
.paper .prose strong{font-weight:600;}
.paper .prose h2{font-family:var(--font-display);font-weight:600;font-size:30px;line-height:1.18;letter-spacing:-.01em;color:var(--paper-ink);margin:48px 0 14px;}
.paper .prose h3{font-family:var(--font-sans);font-weight:600;font-size:14px;letter-spacing:.14em;text-transform:uppercase;color:var(--champagne-deep);margin:34px 0 10px;}
.paper .prose ul,.paper .prose ol{padding-left:1.2em;margin:0 0 1.2em;}
.paper .prose li{margin:0 0 .55em;}
.paper .prose img{margin:40px auto;border-radius:2px;}
.paper .prose table{width:100%;border-collapse:collapse;margin:30px 0;font-size:16px;}
.paper .prose th,.paper .prose td{border:1px solid var(--paper-line);padding:11px 13px;text-align:left;}
.paper .prose th{font-family:var(--font-sans);font-weight:600;font-size:13px;letter-spacing:.04em;text-transform:uppercase;background:var(--paper-2);}
.paper .prose blockquote{margin:40px 0;border-left:2px solid var(--champagne-deep);padding-left:28px;font-family:var(--font-display);font-style:italic;font-weight:500;font-size:27px;line-height:1.3;color:var(--paper-ink);}
.paper .endrule{height:1px;background:linear-gradient(90deg,var(--champagne),transparent);margin:48px 0 20px;border:none;}
.paper .tags{display:flex;gap:11px;flex-wrap:wrap;}
.paper .tags a{font-family:var(--font-sans);font-weight:500;font-size:11px;text-transform:uppercase;letter-spacing:.1em;padding:7px 15px;border-radius:999px;border:1px solid var(--paper-line);color:var(--paper-ink-2);}
.paper .tags a:hover{border-color:var(--rose-ink);color:var(--rose-ink);}
.paper .more{margin-top:0;padding:64px 0 80px;background:var(--noir);}
.paper .more .wrap{max-width:var(--content-max);}
.paper .more h2{font-family:var(--font-display);font-weight:500;font-style:italic;font-size:30px;color:var(--ivory);margin:0 0 30px;display:flex;align-items:center;gap:18px;}
.paper .more h2::before{content:"";width:42px;height:1px;background:var(--champagne);opacity:.8;}

/* key takeaways box + inline charts (paper) */
.paper .prose .takeaways{background:var(--paper-2);border:1px solid var(--gilt);border-radius:6px;padding:22px 28px;margin:0 0 34px;}
.paper .prose .takeaways h2{font-family:var(--font-sans);font-weight:600;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--champagne-deep);margin:0 0 12px;}
.paper .prose .takeaways ul{margin:0;padding-left:1.1em;}
.paper .prose .takeaways li{font-family:var(--font-serif);font-weight:400;font-size:16px;line-height:1.5;color:var(--paper-ink-2);margin:0 0 .55em;}
.paper .prose .takeaways li:last-child{margin-bottom:0;}
.paper .prose figure.lade-chart{margin:40px 0;}
.paper .prose figure.lade-chart svg{width:100%;height:auto;display:block;}
.paper .prose figure.lade-chart figcaption{font-family:var(--font-sans);font-size:12px;color:var(--paper-ink-3);margin-top:12px;text-align:left;text-transform:uppercase;letter-spacing:.04em;}

/* page heads (dark archives + paper pages) */
.pagehead{padding:64px 0 46px;}
.pagehead .kicker{color:var(--champagne);}
.pagehead h1{font-family:var(--font-display);font-weight:600;font-size:clamp(44px,6vw,88px);line-height:1;letter-spacing:-.016em;color:var(--ivory);margin:18px 0 0;text-wrap:balance;}
.pagehead .lede{font-family:var(--font-serif);font-weight:300;font-size:21px;line-height:1.5;color:var(--ivory-mut);margin:22px 0 0;max-width:54ch;}
.paper .pagehead .kicker{color:var(--champagne-deep);}
.paper .pagehead h1{color:var(--paper-ink);}
.paper .pagehead .lede{color:var(--paper-ink-2);}
.page-body{padding:50px 0 90px;}
.archive-grid{padding:10px 0 70px;}

/* contact form + notices (paper) */
.cform{display:flex;flex-direction:column;gap:20px;margin:36px auto 0;}
.cform .frow{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
.cform label{display:flex;flex-direction:column;gap:9px;font-family:var(--font-sans);font-weight:600;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--paper-ink-2);}
.cform input,.cform textarea,.cform select{border:1px solid var(--paper-line);border-radius:4px;background:#fff;padding:14px 18px;font-family:var(--font-serif);font-size:16px;color:var(--paper-ink);outline:none;transition:border-color .2s var(--ease);}
.cform input,.cform select{border-radius:999px;}
.cform input:focus,.cform textarea:focus,.cform select:focus{border-color:var(--rose-ink);}
.cform select{appearance:none;cursor:pointer;}
.cform textarea{resize:vertical;}
.cform .btn{align-self:flex-start;}
.form-note{font-family:var(--font-sans);font-weight:500;font-size:14px;letter-spacing:.03em;padding:15px 24px;border-radius:999px;margin:0 auto 28px;}
.form-note.ok{background:var(--rose-tint);color:var(--rose-ink);border:1px solid var(--rose-ink);}
.form-note.err{background:rgba(167,126,69,.12);color:var(--champagne-deep);border:1px solid var(--champagne-deep);}

@media (max-width:980px){
  .dispatch .wrap,.grid3{grid-template-columns:1fr;}
  .grid3{gap:40px;}
  .hero{min-height:74vh;}
  .hero-inner{padding-block:48px 54px;}
  .list .row{grid-template-columns:64px 1fr;}
  .list .num{font-size:36px;}
  .list .right{display:none;}
  .wrap{padding-inline:24px;}
  nav.sections .wrap{overflow-x:auto;gap:26px;}
  .cform .frow{grid-template-columns:1fr;}
  figure.lead-full img{height:46vh;}
  .sec-head{margin:54px 0 26px;}
}
