/* ═══════════════════════════════════════════════════════════════════
   REAGEN E. THOMAS—ATTORNEY AT LAW
   Identity stylesheet. Written from scratch; no legacy inheritance.

   Ground:   warm paper, not screen white, not dark mode.
   Type:     TeX Gyre Pagella—the Palatino cut the engraved card,
             the letterhead and the monogram are all set in. Self-hosted,
             so the website and the stationery are the same face on every
             visitor's screen.
   Grid:     asymmetric. A narrow rail carries the section numeral and
             label; the wide column carries the argument. Nothing is
             centred except the things that must be.
   ═══════════════════════════════════════════════════════════════════ */

/* ── Faces ─────────────────────────────────────────────────────────── */
@font-face{font-family:"Cormorant";src:url("../fonts/cormorant-400-normal.woff2") format("woff2");
  font-weight:400;font-style:normal;font-display:swap;}
@font-face{font-family:"Cormorant";src:url("../fonts/cormorant-400-italic.woff2") format("woff2");
  font-weight:400;font-style:italic;font-display:swap;}
@font-face{font-family:"Cormorant";src:url("../fonts/cormorant-600-normal.woff2") format("woff2");
  font-weight:600;font-style:normal;font-display:swap;}

@font-face{font-family:"Pagella";src:url("../fonts/pagella-regular.woff") format("woff");
  font-weight:400;font-style:normal;font-display:swap;}
@font-face{font-family:"Pagella";src:url("../fonts/pagella-italic.woff") format("woff");
  font-weight:400;font-style:italic;font-display:swap;}
@font-face{font-family:"Pagella";src:url("../fonts/pagella-bold.woff") format("woff");
  font-weight:700;font-style:normal;font-display:swap;}
@font-face{font-family:"Heros";src:url("../fonts/heros-regular.woff") format("woff");
  font-weight:400;font-style:normal;font-display:swap;}

/* ── Constants ─────────────────────────────────────────────────────── */
:root{
  --paper:      #FBF8F1;   /* the ground */
  --paper-2:    #F2EBD9;   /* Ecru—the second band. PMS 7527 U */
  --ink:        #16233F;   /* Ink Navy. PMS 2767 U */
  --ink-deep:   #0E1728;   /* the one dark band, and the footer */
  --body:       #33322C;   /* warm charcoal—body copy, never pure black */
  --brass:      #A08B5F;   /* the accent. Used sparingly, never as fill */
  --oxblood:    #5C1F24;   /* reserved. Not used on screen. PMS 490 U */
  --hair:       rgba(22,35,63,.16);
  --hair-light: rgba(242,235,217,.20);

  --display: "Cormorant", "Pagella", Palatino, Georgia, serif;  /* The Journal only */
  --wine:    #5C1F24;   /* Oxblood, PMS 490 U—the Journal accent */
  --wine-up: #BA6E74;   /* the same hue, lifted to 4.75:1 on the navy ground */
  --serif: "Pagella", Palatino, "Palatino Linotype", "Book Antiqua", Georgia, serif;
  --sans:  "Heros", "Helvetica Neue", Helvetica, Arial, sans-serif;

  --gut:   clamp(28px, 6vw, 120px);   /* page margin */
  --rail:  clamp(0px, 14vw, 220px);   /* the label rail */
  --ease:  cubic-bezier(.22,.61,.24,1);
}

/* ── Reset ─────────────────────────────────────────────────────────── */
*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;}
body{margin:0;background:var(--paper);color:var(--body);
  font-family:var(--serif);font-size:17.5px;line-height:1.78;
  font-variant-numeric:oldstyle-figures;
  font-feature-settings:"kern" 1,"liga" 1,"onum" 1,"calt" 1;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
h1,h2,h3,h4,p,figure,blockquote,ul,ol{margin:0;padding:0;}
ul,ol{list-style:none;}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer;}
::selection{background:var(--brass);color:var(--ink-deep);}
:focus-visible{outline:1px solid var(--brass);outline-offset:4px;}

/* ── Type primitives ───────────────────────────────────────────────── */
.label{font-family:var(--sans);font-size:9.5px;letter-spacing:.34em;
  text-indent:.34em;text-transform:uppercase;color:var(--brass);
  font-variant-numeric:lining-nums;line-height:1;}
.numeral{font-family:var(--serif);font-size:13px;letter-spacing:.22em;
  color:var(--brass);font-variant-numeric:lining-nums;line-height:1;}
.lede{font-size:clamp(19px,1.55vw,22px);line-height:1.72;color:var(--ink);}
.rule{width:44px;height:1px;background:var(--brass);}

h1,h2,h3{font-family:var(--serif);font-weight:400;color:var(--ink);
  line-height:1.08;letter-spacing:.005em;}
h2{font-size:clamp(30px,3.5vw,50px);line-height:1.14;letter-spacing:-.005em;}
h3{font-size:clamp(21px,1.9vw,27px);line-height:1.24;}

p + p{margin-top:1.15em;}
.measure{max-width:34em;}
.measure-tight{max-width:29em;}

/* the quiet link: a hairline that draws in, not a box */
.link{font-family:var(--sans);font-size:10.5px;letter-spacing:.26em;
  text-indent:.26em;text-transform:uppercase;color:var(--ink);
  display:inline-block;position:relative;padding-bottom:9px;
  font-variant-numeric:lining-nums;}
.link::after{content:"";position:absolute;left:0;bottom:0;height:1px;
  width:100%;background:var(--hair);}
.link::before{content:"";position:absolute;left:0;bottom:0;height:1px;
  width:0;background:var(--ink);transition:width .6s var(--ease);z-index:1;}
.link:hover::before{width:100%;}
.on-dark .link,.link.on-dark{color:#F2EBD9;}
.on-dark .link::after{background:var(--hair-light);}
.on-dark .link::before{background:var(--brass);}

/* ── The grid ──────────────────────────────────────────────────────── */
.band{padding:clamp(76px,9vw,138px) var(--gut);}
.band-inner{max-width:1420px;margin:0 auto;
  display:grid;grid-template-columns:var(--rail) minmax(0,1fr);
  column-gap:clamp(24px,4vw,72px);}
.band-rail{display:flex;flex-direction:column;gap:14px;padding-top:.55em;}
.band-body{min-width:0;}
.hairline{height:1px;background:var(--hair);border:0;margin:0;}
.on-dark .hairline{background:var(--hair-light);}

.paper-2{background:var(--paper-2);}
.on-dark{background:var(--ink-deep);color:rgba(242,235,217,.78);}
.on-dark h1,.on-dark h2,.on-dark h3{color:#F5F0E4;}
.on-dark .label,.on-dark .numeral{color:var(--brass);}
.on-dark .lede{color:#F5F0E4;}

/* ── Nav ───────────────────────────────────────────────────────────── */
#nav{position:fixed;inset:0 0 auto 0;z-index:60;
  display:flex;align-items:center;justify-content:space-between;
  gap:32px;padding:0 var(--gut);height:96px;
  background:var(--paper);border-bottom:1px solid var(--hair);
  transition:height .5s var(--ease),box-shadow .5s var(--ease);}
#nav.is-scrolled{height:76px;box-shadow:0 1px 24px rgba(22,35,63,.05);}
.brand{display:flex;align-items:center;gap:15px;}
.brand-mark{height:52px;width:auto;transition:height .5s var(--ease);}
#nav.is-scrolled .brand-mark{height:44px;}
.brand-word{display:flex;flex-direction:column;gap:5px;}
.brand-name{font-family:var(--serif);font-size:17px;letter-spacing:.2em;
  text-indent:.2em;color:var(--ink);line-height:1;white-space:nowrap;}
.brand-role{font-family:var(--sans);font-size:8px;letter-spacing:.32em;
  text-indent:.32em;text-transform:uppercase;color:var(--brass);line-height:1;}

.nav-right{display:flex;align-items:center;gap:clamp(18px,2.4vw,38px);}
.nav-links{display:flex;gap:clamp(18px,2.4vw,38px);}
.nav-links a{font-family:var(--sans);font-size:10px;letter-spacing:.24em;
  text-indent:.24em;text-transform:uppercase;color:var(--ink);
  position:relative;padding:6px 0;opacity:.82;transition:opacity .4s var(--ease);}
.nav-links a::after{content:"";position:absolute;left:0;bottom:0;height:1px;
  width:0;background:var(--brass);transition:width .55s var(--ease);}
.nav-links a:hover{opacity:1;}
.nav-links a:hover::after,.nav-links a[aria-current="page"]::after{width:100%;}
.nav-phone{font-family:var(--sans);font-size:10px;letter-spacing:.2em;
  text-transform:uppercase;color:var(--ink);white-space:nowrap;
  font-variant-numeric:lining-nums;padding-left:clamp(14px,2vw,30px);
  border-left:1px solid var(--hair);}
.nav-toggle{display:none;width:26px;height:14px;position:relative;}
.nav-toggle span{position:absolute;left:0;width:100%;height:1px;background:var(--ink);
  transition:transform .45s var(--ease),opacity .3s var(--ease);}
.nav-toggle span:nth-child(1){top:0;} .nav-toggle span:nth-child(2){bottom:0;}
body.menu-open{overflow:hidden;}

/* ── Hero ──────────────────────────────────────────────────────────── */
.hero{display:grid;grid-template-columns:55fr 45fr;
  min-height:calc(86vh - 96px);min-height:calc(86svh - 96px);margin-top:96px;}
.hero-copy{display:flex;flex-direction:column;justify-content:center;
  padding:86px var(--gut) 86px;background:var(--paper);}
.hero-copy > * + *{margin-top:30px;}
.hero-copy{container-type:inline-size;min-width:0;}
.hero h1{font-size:clamp(30px,8.7cqw,78px);line-height:1.04;letter-spacing:-.014em;
  white-space:nowrap;}
.hero h1 span{display:inline;}
.hero h1 span + span:before{content:'\00a0';}
.hero .rule{margin-top:34px;}
.hero-sub{font-size:clamp(19px,1.7vw,25px);line-height:1.6;color:var(--ink);
  max-width:23em;}
.hero p.body{color:var(--body);max-width:27em;font-size:clamp(17px,1.2vw,19.5px);line-height:1.8;}
.hero-actions{display:flex;align-items:center;gap:14px 16px;flex-wrap:wrap;margin-top:40px;}
.hero-portrait{position:relative;overflow:hidden;background:var(--ink-deep);}
.hero-portrait img{width:100%;height:100%;object-fit:cover;object-position:50% 18%;}
.hero-portrait:after{content:'';position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(90deg,var(--paper) 0%,rgba(251,248,241,.72) 6%,
    rgba(251,248,241,.34) 15%,rgba(251,248,241,.10) 24%,rgba(251,248,241,0) 34%);}

/* ── Statement band ────────────────────────────────────────────────── */
.statement{padding:clamp(84px,9.5vw,146px) var(--gut);}
.statement-inner{max-width:1420px;margin:0 auto;
  display:grid;grid-template-columns:var(--rail) minmax(0,1fr);
  column-gap:clamp(24px,4vw,72px);}
.statement blockquote{font-size:clamp(24px,2.7vw,40px);line-height:1.36;
  letter-spacing:-.004em;color:#F5F0E4;max-width:20em;font-family:var(--serif);}
.statement footer{margin-top:34px;font-family:var(--sans);font-size:9.5px;
  letter-spacing:.3em;text-transform:uppercase;color:var(--brass);}

/* ── Practice list ─────────────────────────────────────────────────── */
.entries{margin-top:14px;}
.entry{display:grid;grid-template-columns:56px minmax(0,1fr);
  column-gap:clamp(18px,2.4vw,40px);padding:44px 0;
  border-top:1px solid var(--hair);}
.entry:last-child{border-bottom:1px solid var(--hair);}
.entry h3{margin-bottom:16px;}
.entry p{max-width:38em;font-size:16.5px;}
.entry-num{font-family:var(--serif);font-size:14px;letter-spacing:.16em;
  color:var(--brass);font-variant-numeric:lining-nums;padding-top:.45em;}

/* ── Offence index—a colophon, not a tag cloud ───────────────────── */
.index{margin-top:56px;display:grid;
  grid-template-columns:repeat(auto-fit,minmax(190px,1fr));
  gap:clamp(28px,3vw,54px);}
.index h4{font-family:var(--sans);font-size:9px;letter-spacing:.3em;
  text-indent:.3em;text-transform:uppercase;color:var(--brass);
  font-weight:400;margin-bottom:16px;}
.index li{font-size:15.5px;line-height:2.05;color:var(--body);}

/* ── Reviews ───────────────────────────────────────────────────────── */
.pull{font-size:clamp(21px,2.15vw,31px);line-height:1.52;color:#F5F0E4;
  max-width:24em;font-style:italic;}
.attrib{margin-top:26px;font-family:var(--sans);font-size:9px;
  letter-spacing:.3em;text-transform:uppercase;color:var(--brass);}
.quotes{margin-top:76px;display:grid;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:clamp(34px,4vw,68px);padding-top:52px;border-top:1px solid var(--hair-light);}
.quotes p{font-size:16px;line-height:1.85;color:rgba(242,235,217,.72);font-style:italic;}
.quotes .attrib{margin-top:18px;}
.source-note{margin-top:56px;font-family:var(--sans);font-size:9px;
  letter-spacing:.24em;text-transform:uppercase;color:rgba(242,235,217,.36);}

/* ── Colophon (contact) ────────────────────────────────────────────── */
.colophon{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));
  gap:clamp(30px,3.5vw,64px);margin-top:14px;}
.colophon h4{font-family:var(--sans);font-size:9px;letter-spacing:.3em;
  text-indent:.3em;text-transform:uppercase;color:var(--brass);
  font-weight:400;margin-bottom:14px;}
.colophon p,.colophon a{font-size:16.5px;line-height:1.8;color:var(--ink);}
.colophon a:hover{color:var(--brass);}

/* ── Form ──────────────────────────────────────────────────────────── */
.form{margin-top:46px;display:grid;grid-template-columns:1fr 1fr;
  gap:30px 34px;max-width:52em;}
.field{display:flex;flex-direction:column;gap:9px;}
.field.wide{grid-column:1/-1;}
.field label{font-family:var(--sans);font-size:9px;letter-spacing:.3em;
  text-indent:.3em;text-transform:uppercase;color:var(--brass);}
.field input,.field textarea{font-family:var(--serif);font-size:16.5px;
  color:var(--ink);background:transparent;border:0;border-bottom:1px solid var(--hair);
  padding:9px 0;font-variant-numeric:lining-nums;transition:border-color .45s var(--ease);}
.field textarea{resize:vertical;min-height:112px;line-height:1.7;}
.field input:focus,.field textarea:focus{outline:0;border-bottom-color:var(--ink);}
.field input::placeholder,.field textarea::placeholder{color:rgba(51,50,44,.32);}

/* ── Footer ────────────────────────────────────────────────────────── */
.site-foot{background:var(--ink-deep);color:rgba(242,235,217,.62);
  padding:clamp(70px,8vw,110px) var(--gut) 44px;}
.foot-inner{max-width:1420px;margin:0 auto;
  display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:clamp(30px,4vw,70px);}
.foot-mark{height:54px;width:auto;opacity:.9;}
.foot-name{margin-top:22px;font-family:var(--serif);font-size:15px;
  letter-spacing:.2em;text-indent:.2em;color:rgba(242,235,217,.9);}
.foot-role{margin-top:9px;font-family:var(--sans);font-size:8px;
  letter-spacing:.32em;text-indent:.32em;text-transform:uppercase;color:var(--brass);}
.site-foot h4{font-family:var(--sans);font-size:9px;letter-spacing:.3em;
  text-indent:.3em;text-transform:uppercase;color:var(--brass);font-weight:400;
  margin-bottom:16px;}
.site-foot p,.site-foot li,.site-foot a{font-size:15px;line-height:1.95;
  color:rgba(242,235,217,.62);}
.site-foot a:hover{color:#F2EBD9;}
.foot-base{max-width:1420px;margin:clamp(52px,6vw,84px) auto 0;
  padding-top:28px;border-top:1px solid var(--hair-light);
  display:flex;justify-content:space-between;gap:34px;flex-wrap:wrap;}
.foot-base p{font-size:12.5px;line-height:1.75;color:rgba(242,235,217,.42);max-width:44em;}

/* ── Motion ────────────────────────────────────────────────────────── */
.rise{opacity:0;transform:translateY(26px);
  transition:opacity 1.2s var(--ease),transform 1.2s var(--ease);}
.rise.seen{opacity:1;transform:none;}
.rise.d1{transition-delay:.10s} .rise.d2{transition-delay:.20s}
.rise.d3{transition-delay:.30s} .rise.d4{transition-delay:.40s}
@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition-duration:.01ms!important;}
  .rise{opacity:1;transform:none;}
  html{scroll-behavior:auto;}
}

/* ── Widths ────────────────────────────────────────────────────────── */
@media (max-width:1080px){
  .band-inner,.statement-inner{grid-template-columns:1fr;row-gap:26px;}
  .band-rail{flex-direction:row;align-items:center;gap:18px;padding-top:0;}
  .foot-inner{grid-template-columns:1fr 1fr;}
}
@media (max-width:860px){
  .hero{grid-template-columns:1fr;min-height:0;}
  .hero{margin-top:76px;}
  .hero-portrait{order:-1;height:56vh;min-height:330px;}
  .hero-portrait:after{background:linear-gradient(180deg,rgba(251,248,241,0) 58%,
    rgba(251,248,241,.30) 78%,rgba(251,248,241,.78) 93%,var(--paper) 100%);}
  .hero-portrait img{object-position:50% 14%;}
  .hero-copy{padding:56px var(--gut) 72px;}
  .nav-links,.nav-phone{display:none;}
  .nav-toggle{display:block;}
  #nav{height:76px;background:rgba(251,248,241,.94);border-bottom-color:var(--hair);}
  #nav.is-scrolled{height:68px;}
  .form{grid-template-columns:1fr;}
  .foot-inner{grid-template-columns:1fr;}
}
@media (max-width:520px){
  body{font-size:16.5px;}
  .brand-word{display:none;}
  .entry{grid-template-columns:1fr;row-gap:10px;}
  .entry-num{padding-top:0;}
}

/* ── Mobile menu ───────────────────────────────────────────────────── */
#menu{position:fixed;inset:0;z-index:55;background:var(--paper);
  display:flex;flex-direction:column;justify-content:center;gap:6px;
  padding:0 var(--gut);opacity:0;pointer-events:none;
  transition:opacity .5s var(--ease);}
#menu.open{opacity:1;pointer-events:auto;}
#menu a{font-family:var(--serif);font-size:clamp(30px,8vw,46px);color:var(--ink);
  padding:12px 0;border-bottom:1px solid var(--hair);}
#menu .menu-foot{margin-top:44px;font-family:var(--sans);font-size:10px;
  letter-spacing:.24em;text-transform:uppercase;color:var(--brass);
  font-variant-numeric:lining-nums;border:0;}

/* ── Print ─────────────────────────────────────────────────────────── */
@media print{
  #nav,#menu,.hero-portrait,.form{display:none;}
  body{background:#fff;color:#000;font-size:11pt;}
  .on-dark{background:#fff;color:#000;}
}

/* ── Page head (inner pages) ───────────────────────────────────────── */
section[id]{scroll-margin-top:112px;}
.page-head{padding:clamp(146px,14vw,206px) var(--gut) clamp(58px,6vw,92px);
  border-bottom:1px solid var(--hair);}
.page-head-inner{max-width:1420px;margin:0 auto;
  display:grid;grid-template-columns:var(--rail) minmax(0,1fr);
  column-gap:clamp(24px,4vw,72px);}
.page-head h1{font-size:clamp(38px,5vw,74px);line-height:1.02;letter-spacing:-.012em;}
.page-head .lede{margin-top:30px;max-width:32em;}
.page-head .rule{margin-top:28px;}

/* ── Portrait band ─────────────────────────────────────────────────── */
/* No slab, no hard edges. The photograph is feathered into the paper on
   three sides so it dissolves into the page instead of sitting in a box. */
.portrait-band{display:grid;grid-template-columns:47fr 53fr;align-items:center;
  background:var(--paper);padding-bottom:clamp(24px,4.5vw,64px);}
.portrait-band .pb-img{position:relative;overflow:hidden;align-self:stretch;
  min-height:clamp(430px,50vw,650px);}
.portrait-band .pb-img img{width:100%;height:100%;object-fit:cover;
  object-position:50% 25%;}
.portrait-band .pb-img:after{content:'';position:absolute;inset:0;pointer-events:none;
  background:
    linear-gradient(270deg,var(--paper) 0%,rgba(251,248,241,.74) 6%,
      rgba(251,248,241,.34) 16%,rgba(251,248,241,.10) 25%,rgba(251,248,241,0) 35%),
    linear-gradient(0deg,var(--paper) 0%,rgba(251,248,241,.62) 5%,
      rgba(251,248,241,.22) 12%,rgba(251,248,241,0) 22%),
    linear-gradient(180deg,var(--paper) 0%,rgba(251,248,241,.62) 4%,
      rgba(251,248,241,.20) 11%,rgba(251,248,241,0) 20%);}
.portrait-band .pb-copy{display:flex;flex-direction:column;justify-content:center;
  padding:clamp(56px,7vw,110px) var(--gut);}
/* The attorney page runs straight from the name into the photograph. */
body.page-about .page-head{border-bottom:0;padding-bottom:clamp(18px,2.6vw,38px);}
@media (max-width:860px){
  .portrait-band{grid-template-columns:1fr;padding-bottom:0;}
  .portrait-band .pb-img{min-height:390px;}
  /* Only the foot feathers on a phone — a top fade would wash out her face. */
  .portrait-band .pb-img img{object-position:50% 14%;}
  .portrait-band .pb-img:after{background:
    linear-gradient(0deg,var(--paper) 0%,rgba(251,248,241,.58) 6%,
      rgba(251,248,241,.18) 15%,rgba(251,248,241,0) 26%);}
  .page-head-inner{grid-template-columns:1fr;}
}

/* ── Select + submit ───────────────────────────────────────────────── */
.field select{font-family:var(--serif);font-size:16.5px;color:var(--ink);
  background:transparent;border:0;border-bottom:1px solid var(--hair);
  padding:9px 0;border-radius:0;appearance:none;
  background-image:linear-gradient(45deg,transparent 50%,var(--brass) 50%),
                   linear-gradient(135deg,var(--brass) 50%,transparent 50%);
  background-position:calc(100% - 9px) calc(1em + 2px),calc(100% - 4px) calc(1em + 2px);
  background-size:5px 5px,5px 5px;background-repeat:no-repeat;}
.field select:focus{outline:0;border-bottom-color:var(--ink);}
.consent{grid-column:1/-1;display:flex;align-items:flex-start;gap:12px;
  font-size:14.5px;color:var(--body);}
.consent input{margin-top:.45em;accent-color:var(--ink);}
.consent a{border-bottom:1px solid var(--hair);}
.submit{grid-column:1/-1;justify-self:start;margin-top:8px;
  font-family:var(--sans);font-size:10.5px;letter-spacing:.26em;text-indent:.26em;
  text-transform:uppercase;color:var(--ink);border:1px solid var(--ink);
  padding:17px 42px;background:transparent;
  transition:background .55s var(--ease),color .55s var(--ease);}
.submit:hover{background:var(--ink);color:var(--paper);}

/* ── Small utilities ───────────────────────────────────────────────── */
.stack-lg > * + *{margin-top:38px;}
.note{font-size:14.5px;line-height:1.8;color:rgba(51,50,44,.7);max-width:36em;}
.on-dark .note{color:rgba(242,235,217,.6);}

/* ── Skip link—invisible until a keyboard finds it ───────────────── */
.skip{position:absolute;left:-9999px;top:0;z-index:99;
  background:var(--ink);color:var(--paper);padding:14px 22px;
  font-family:var(--sans);font-size:10.5px;letter-spacing:.26em;text-transform:uppercase;}
.skip:focus{left:var(--gut);top:14px;}
#main:focus{outline:none;}

/* ── Save-to-contacts card ─────────────────────────────────────────── */
.vcard{display:grid;grid-template-columns:auto minmax(0,1fr);gap:clamp(26px,3vw,50px);
  align-items:center;border:1px solid var(--hair);padding:clamp(26px,3vw,42px);
  background:rgba(255,255,255,.5);max-width:44em;}
.vcard-qr{width:clamp(232px,20vw,252px);height:auto;display:block;}
.vcard-qr-wrap{display:flex;flex-direction:column;align-items:center;gap:14px;}
.vcard-qr-cap{font-family:var(--sans);font-size:8.5px;letter-spacing:.26em;
  text-indent:.26em;text-transform:uppercase;color:var(--brass);text-align:center;
  line-height:1.7;max-width:15em;}
.vcard h3{margin-bottom:12px;}
.vcard p{font-size:15.5px;line-height:1.75;color:var(--body);max-width:26em;}
.vcard .link{margin-top:22px;}
.on-dark .vcard{border-color:var(--hair-light);background:rgba(242,235,217,.04);}
.on-dark .vcard p{color:rgba(242,235,217,.72);}
@media (max-width:620px){
  .vcard{grid-template-columns:1fr;justify-items:center;text-align:center;}
  .vcard p{margin-inline:auto;}
  .vcard-qr{width:min(240px,68vw);}
}

/* ── Reviews page ──────────────────────────────────────────────────── */
.review-featured{max-width:40em;}
.review-featured p{font-family:var(--serif);font-style:italic;
  font-size:clamp(19px,1.9vw,26px);line-height:1.62;color:var(--ink);}
.on-dark .review-featured p{color:#F5F0E4;}
.review-grid{margin-top:0;display:grid;
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:clamp(34px,3.6vw,60px);}
.review-card{padding-top:34px;border-top:1px solid var(--hair);}
.review-card p{font-style:italic;font-size:16.5px;line-height:1.85;color:var(--body);}
.review-card .attrib{color:var(--brass);}
.on-dark .review-card{border-top-color:var(--hair-light);}
.on-dark .review-card p{color:rgba(242,235,217,.74);}

/* Rail labels can run to two lines; give them leading so they don't collide. */
.band-rail .label{line-height:1.85;}
@media (max-width:1080px){ .band-rail .label{line-height:1;} }

/* ── Selected matters: the court line sits between charge and outcome ── */
.matter-court{font-family:var(--sans);font-size:9px;letter-spacing:.26em;
  text-indent:.26em;text-transform:uppercase;color:var(--brass);
  margin:-6px 0 14px;}
.entry h3 + .matter-court{margin-top:-8px;}


/* ── Reviews on the paper ground (homepage) ────────────────────────── */
#clients .pull{color:var(--ink);}
#clients .quotes{border-top-color:var(--hair);}
#clients .quotes p{color:var(--body);}
#clients .source-note{color:rgba(51,50,44,.42);}


/* ── What happens next: the case map ───────────────────────────────── */
.whn{margin-top:46px;}
.whn-warn{font-family:var(--sans);font-size:11.5px;line-height:1.7;color:var(--muted);
  margin:0 0 26px;max-width:58ch;opacity:.86;}
.whn-track{display:flex;flex-wrap:wrap;border:1px solid var(--hair-2);
  width:fit-content;max-width:100%;margin-bottom:26px;}
.whn-track button{appearance:none;background:transparent;border:0;cursor:pointer;
  font-family:var(--sans);font-size:10px;font-weight:700;letter-spacing:.16em;
  text-transform:uppercase;color:var(--ink);padding:10px 15px;white-space:nowrap;}
.whn-track button+button{border-left:1px solid var(--hair-2);}
.whn-track button[aria-pressed="true"]{background:var(--ink-deep);color:var(--paper);}
.whn-track button:focus-visible{outline:2px solid var(--brass);outline-offset:2px;}
.whn-steps{display:flex;overflow-x:auto;padding-bottom:15px;-webkit-overflow-scrolling:touch;}
.whn-step{appearance:none;background:transparent;border:0;cursor:pointer;flex:none;
  text-align:left;border-top:2px solid var(--hair);padding:12px 20px 0 0;min-width:118px;
  margin-right:10px;font-family:var(--sans);color:var(--ink);}
.whn-step .n{font-size:9.5px;letter-spacing:.2em;color:var(--brass);display:block;
  margin-bottom:4px;}
.whn-step .t{font-size:12.5px;font-weight:700;line-height:1.3;display:block;}
.whn-step[aria-selected="true"]{border-top-color:var(--ink-deep);}
.whn-step[aria-selected="false"]{opacity:.45;}
.whn-step:focus-visible{outline:2px solid var(--brass);outline-offset:-2px;}
.whn-panel{border-top:1px solid var(--hair);padding-top:26px;}
.whn-panel h3{font-size:clamp(21px,3.4vw,27px);line-height:1.15;margin:0 0 6px;}
.whn-when{font-family:var(--sans);font-size:10px;font-weight:700;letter-spacing:.2em;
  text-transform:uppercase;color:var(--brass);margin:0 0 18px;}
.whn-d{font-size:17px;line-height:1.62;margin:0 0 18px;max-width:34em;}
.whn-not{font-family:var(--serif);font-size:16.5px;line-height:1.66;margin:0 0 22px;
  max-width:34em;padding:16px 20px;background:rgba(138,116,68,.06);
  border-left:1px solid rgba(138,116,68,.4);}
.whn-not b{display:block;font-family:var(--sans);font-size:9px;letter-spacing:.26em;
  text-transform:uppercase;color:var(--brass);margin-bottom:8px;font-weight:700;}
.whn-cite{font-family:var(--sans);font-size:10.5px;line-height:1.8;color:var(--muted);
  margin:0;max-width:44em;padding-top:15px;border-top:1px solid var(--hair);}
.whn-cite i{font-style:italic;}
.whn-foot{margin-top:30px;padding-top:20px;border-top:1px solid var(--hair);
  font-family:var(--sans);font-size:11.5px;line-height:1.78;color:var(--muted);max-width:62em;}
.whn-foot b{color:var(--ink-deep);}

#detail .review-featured{max-width:44em;}
#detail .review-featured p{font-size:clamp(17px,1.5vw,21px);line-height:1.68;}


/* ── Call to action: a real button, used on every page ─────────────── */
.cta-row{display:flex;flex-wrap:wrap;gap:14px 16px;align-items:center;margin-top:34px;}
.btn{display:inline-flex;align-items:center;justify-content:center;
  font-family:var(--sans);font-size:11px;font-weight:700;letter-spacing:.2em;
  text-transform:uppercase;text-decoration:none;padding:16px 26px;
  border:1px solid var(--ink-deep);color:var(--paper);background:var(--ink-deep);
  transition:opacity .18s ease;}
.btn:hover{opacity:.84;}
.btn.ghost{background:transparent;color:var(--ink-deep);}
.btn.ghost:hover{background:rgba(22,35,63,.06);color:var(--ink-deep);}
.on-dark .btn{background:#F5F0E4;border-color:#F5F0E4;color:var(--ink-deep);}
.on-dark .btn.ghost{background:transparent;color:#F5F0E4;border-color:rgba(245,240,228,.55);}
.cta-note{font-family:var(--sans);font-size:11.5px;letter-spacing:.04em;color:var(--muted);
  margin:14px 0 0;}
.btn:focus-visible{outline:2px solid var(--brass);outline-offset:3px;}

/* ── Contact: everything above the fold ────────────────────────────── */
.reach{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
  gap:clamp(20px,2.4vw,34px);margin-top:40px;}
.reach .card{padding:30px 30px 26px;border:1px solid var(--hair);
  background:rgba(255,255,255,.55);}
.reach .v a{text-decoration:none;color:inherit;}
.reach .v a:hover{color:var(--brass);}
.reach .acts{display:flex;gap:10px;margin:20px 0 0;flex-wrap:wrap;}
.reach .acts a{flex:1;min-width:110px;text-align:center;text-decoration:none;
  font-family:var(--sans);font-size:10.5px;font-weight:700;letter-spacing:.2em;
  text-transform:uppercase;padding:13px 16px;border:1px solid var(--ink-deep);
  color:var(--paper);background:var(--ink-deep);}
.reach .acts a+a{background:transparent;color:var(--ink-deep);}
.reach .acts a:hover{opacity:.85;}
.reach .acts a+a:hover{background:rgba(22,35,63,.06);opacity:1;}
.reach .k{font-family:var(--sans);font-size:9px;letter-spacing:.3em;text-transform:uppercase;
  color:var(--brass);margin:0 0 12px;}
.reach .v{font-family:var(--serif);font-size:clamp(20px,2.2vw,26px);line-height:1.25;
  color:var(--ink-deep);margin:0;}
.reach .s{font-family:var(--sans);font-size:12px;line-height:1.6;color:var(--muted);
  margin:10px 0 0;}

/* Contact: contact details in the first screen, not below it. */
body.page-contact .page-head{padding-top:clamp(120px,10vw,156px);
  padding-bottom:clamp(40px,4vw,60px);}
body.page-contact .page-head .lede{margin-top:22px;}
body.page-contact .reach{margin-top:34px;}

/* ── Footer: Facebook and Google ───────────────────────────────────── */
.social{display:flex;gap:12px;margin-top:22px;}
.social a{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;
  border:1px solid rgba(242,235,217,.32);color:#F2EBD9;transition:border-color .18s ease,background .18s ease;}
.social a:hover{border-color:#F2EBD9;background:rgba(242,235,217,.1);}
.social a:focus-visible{outline:2px solid var(--brass);outline-offset:2px;}
.social svg{width:16px;height:16px;fill:currentColor;display:block;}
.statement footer a{color:inherit;text-decoration:underline;text-underline-offset:3px;
  text-decoration-color:rgba(242,235,217,.4);}
.statement footer a:hover{text-decoration-color:currentColor;}

/* ── Your Case: closing band with a small portrait ─────────────────── */
.ask-split{display:grid;grid-template-columns:minmax(0,1fr) 216px;
  gap:clamp(30px,5vw,64px);align-items:center;}
.ask-portrait{margin:0;}
.ask-portrait img{width:100%;height:auto;display:block;filter:saturate(.96);}
.ask-portrait figcaption{font-family:var(--sans);font-size:9px;letter-spacing:.28em;
  text-transform:uppercase;color:var(--brass);margin-top:14px;text-align:center;}
@media (max-width:760px){
  .ask-split{grid-template-columns:1fr;}
  .ask-portrait{max-width:200px;margin-top:8px;}
}

/* ── Blog ──────────────────────────────────────────────────────────── */
.post-back{font-family:var(--sans);font-size:10px;letter-spacing:.2em;text-transform:uppercase;
  margin-bottom:22px;}
.post-back a{color:var(--brass);text-decoration:none;}
.post-back a:hover{color:var(--ink-deep);}
.post-body{max-width:36em;}
.post-body p{font-size:17.5px;line-height:1.75;margin-bottom:20px;color:var(--body);}
.post-h{font-size:clamp(21px,2.4vw,26px);line-height:1.2;margin:42px 0 16px;color:var(--ink-deep);}
.post-q{margin:4px 0 24px;padding:2px 0 2px 20px;border-left:2px solid var(--brass);
  font-style:italic;font-size:17px;line-height:1.62;color:var(--ink);}
.post-fig{margin:30px 0 26px;max-width:100%;}
.post-fig img{width:100%;height:auto;display:block;border:1px solid var(--hair);}
.post-fig figcaption{font-family:var(--sans);font-size:11.5px;line-height:1.6;color:var(--muted);
  margin-top:11px;}
.post-cta{margin:38px 0 10px;padding:26px 28px 28px;background:rgba(138,116,68,.08);
  border-left:2px solid var(--brass);max-width:36em;}
.post-cta p{font-size:17px;line-height:1.7;margin:0;color:var(--ink);}
.post-cta .cta-row{margin-top:22px;}
.post-sources{margin-top:56px;padding-top:26px;border-top:1px solid var(--hair);max-width:40em;}
.post-sources h3{font-family:var(--sans);font-size:9px;letter-spacing:.3em;text-transform:uppercase;
  color:var(--brass);font-weight:400;margin-bottom:14px;}
.post-sources ul{list-style:none;margin:0 0 22px;padding:0;}
.post-sources li{font-family:var(--sans);font-size:12px;line-height:1.75;color:var(--muted);
  margin-bottom:5px;}
.post-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));
  gap:clamp(22px,2.6vw,36px);}
a.post-card{display:block;text-decoration:none;padding:30px 30px 26px;border:1px solid var(--hair);
  background:rgba(255,255,255,.5);transition:border-color .18s ease;}
a.post-card:hover{border-color:var(--ink-deep);}
.post-card .k{display:block;font-family:var(--sans);font-size:9px;letter-spacing:.28em;
  text-transform:uppercase;color:var(--brass);margin-bottom:14px;}
.post-card h2{font-size:clamp(20px,2vw,24px);line-height:1.22;color:var(--ink-deep);margin-bottom:12px;}
.post-card p{font-size:15px;line-height:1.7;color:var(--body);margin:0;}
.post-card .rd{display:inline-block;margin-top:18px;font-family:var(--sans);font-size:9.5px;
  letter-spacing:.24em;text-transform:uppercase;color:var(--brass);
  border-bottom:1px solid var(--hair);padding-bottom:3px;}
.more-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));
  gap:clamp(20px,2.4vw,34px);}
a.more-card{display:block;text-decoration:none;padding-top:20px;border-top:1px solid var(--hair);}
a.more-card:hover{border-top-color:var(--ink-deep);}
.more-card .k{display:block;font-family:var(--sans);font-size:9px;letter-spacing:.26em;
  text-transform:uppercase;color:var(--brass);margin-bottom:10px;}
.more-card .t{display:block;font-family:var(--serif);font-size:17px;line-height:1.3;
  color:var(--ink-deep);}
@media (max-width:900px){ .nav-links{gap:clamp(14px,1.8vw,26px);} }

/* ── Sticky call bar ───────────────────────────────────────────────────
   Phones only. A frightened person on a phone should never have to hunt
   for the number, and this is quieter than a popup. */
.callbar{display:none;}
@media (max-width:720px){
  .callbar{display:grid;grid-template-columns:1fr 1fr;
    position:fixed;left:0;right:0;bottom:0;z-index:60;
    background:var(--ink-deep);
    padding-bottom:env(safe-area-inset-bottom,0px);
    box-shadow:0 -1px 0 rgba(242,235,217,.14);}
  .callbar a{display:block;padding:16px 10px;text-align:center;
    font-family:var(--sans);font-size:10.5px;letter-spacing:.26em;
    text-indent:.26em;text-transform:uppercase;color:#F5F0E4;
    border:0;text-decoration:none;}
  .callbar a + a{box-shadow:inset 1px 0 0 rgba(242,235,217,.16);}
  .callbar a:active{background:rgba(242,235,217,.10);}
  /* keep the footer clear of the bar */
  body{padding-bottom:calc(54px + env(safe-area-inset-bottom,0px));}
  body.menu-open .callbar{display:none;}
}

/* ── Standfirst — the magazine dateline under a profile headline ──────── */
.standfirst{font-family:var(--sans);font-size:10px;letter-spacing:.26em;
  text-indent:.26em;text-transform:uppercase;color:var(--brass);
  margin-top:20px;line-height:1.9;}

/* ── Inline links in body copy ─────────────────────────────────────────
   A reader should be able to follow a thread without the page turning
   blue. Hairline underline at rest, brass on hover. */
.measure p a:not(.btn):not(.link),
.band-body > p a:not(.btn):not(.link),
.post-body p a:not(.btn):not(.link){
  color:inherit;
  border-bottom:1px solid var(--brass);
  padding-bottom:1px;
  transition:color .4s var(--ease),border-color .4s var(--ease);}
.measure p a:not(.btn):not(.link):hover,
.band-body > p a:not(.btn):not(.link):hover,
.post-body p a:not(.btn):not(.link):hover{
  color:var(--brass);border-bottom-color:var(--brass);}

/* ── Article close ─────────────────────────────────────────────────────
   Every post ends on navy. It gives a long light page one piece of
   weight, and it puts the phone number where the reader actually stops. */
.post-cta{background:var(--ink-deep);border-left:0;
  padding:clamp(28px,3.4vw,40px) clamp(26px,3vw,40px);max-width:40em;
  margin:46px 0 10px;}
.post-cta p{color:#F5F0E4;font-size:17.5px;line-height:1.72;}
.post-cta .btn{border-color:#F5F0E4;color:#F5F0E4;background:transparent;}
.post-cta .btn:hover{background:#F5F0E4;color:var(--ink-deep);}
.post-cta .btn.ghost{border-color:rgba(242,235,217,.42);color:#F5F0E4;}
.post-cta .btn.ghost:hover{background:rgba(242,235,217,.12);color:#F5F0E4;}

/* ══════════════════════════════════════════════════════════════════════
   THE JOURNAL — the publication inside the practice.
   Ink on paper, one oxblood accent, Cormorant doing the emotional work.
   ══════════════════════════════════════════════════════════════════════ */

body.journal{--rail:clamp(0px,13vw,190px);}

/* ── Masthead ─────────────────────────────────────────────────────────── */
.mast{padding:clamp(120px,12vw,178px) var(--gut) 0;}
.mast-inner{max-width:1420px;margin:0 auto;}
.mast-over{font-family:var(--sans);font-size:9px;letter-spacing:.42em;text-indent:.42em;
  text-transform:uppercase;color:var(--wine);margin-bottom:clamp(14px,1.6vw,22px);}
.mast h1{font-family:var(--display);font-weight:400;text-transform:uppercase;
  font-size:clamp(27px,5.3vw,76px);line-height:1.02;letter-spacing:.17em;
  text-indent:.17em;color:var(--ink-deep);margin:0;}
.mast-sub{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;
  gap:18px;margin-top:clamp(22px,2.6vw,38px);
  padding-top:clamp(16px,1.8vw,24px);border-top:1px solid var(--ink-deep);}
.mast-dek{font-family:var(--display);font-style:italic;font-size:clamp(18px,2.1vw,27px);
  line-height:1.3;color:var(--ink);max-width:30em;margin:0;}
.mast-vol{font-family:var(--sans);font-size:9px;letter-spacing:.3em;text-transform:uppercase;
  color:var(--muted);white-space:nowrap;padding-bottom:.4em;}

/* ── Currently: three things worth knowing, in the inverted block ────── */
.currently{margin-top:clamp(40px,4.6vw,70px);background:var(--ink-deep);
  padding:clamp(34px,4vw,60px) var(--gut) clamp(38px,4.4vw,66px);}
.cur-inner{max-width:1420px;margin:0 auto;}
.cur-head{display:flex;align-items:baseline;gap:clamp(14px,2vw,28px);flex-wrap:wrap;
  padding-bottom:clamp(20px,2.4vw,32px);
  border-bottom:1px solid rgba(242,235,217,.22);}
.cur-head h2{font-family:var(--display);font-weight:400;font-size:clamp(26px,3vw,40px);
  line-height:1;color:#F5F0E4;margin:0;}
.cur-head span{font-family:var(--sans);font-size:9px;letter-spacing:.3em;
  text-transform:uppercase;color:var(--wine-up);}
.cur-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(248px,1fr));
  gap:clamp(26px,3.4vw,58px);margin-top:clamp(26px,3vw,40px);}
a.cur-item{display:block;text-decoration:none;}
.cur-item .k{display:block;font-family:var(--sans);font-size:8.5px;letter-spacing:.3em;
  text-indent:.3em;text-transform:uppercase;color:var(--wine-up);margin-bottom:12px;}
.cur-item h3{font-family:var(--display);font-weight:400;font-size:clamp(20px,2vw,25px);
  line-height:1.16;color:#F5F0E4;margin:0 0 11px;transition:color .2s var(--ease);}
.cur-item p{font-size:15.5px;line-height:1.6;color:rgba(242,235,217,.72);margin:0;}
a.cur-item:hover h3{color:var(--wine-up);}

/* ── Filters and search ───────────────────────────────────────────────── */
.jbar{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;
  gap:20px;padding:clamp(26px,3vw,40px) 0 clamp(16px,1.8vw,22px);
  border-bottom:1px solid var(--ink-deep);}
.jfilters{display:flex;flex-wrap:wrap;gap:12px clamp(14px,1.9vw,28px);}
.jfilters button{background:none;border:0;padding:0 0 5px;cursor:pointer;
  font-family:var(--sans);font-size:9.5px;letter-spacing:.26em;text-transform:uppercase;
  color:var(--muted);border-bottom:1px solid transparent;transition:color .18s,border-color .18s;}
.jfilters button:hover{color:var(--ink-deep);}
.jfilters button[aria-pressed="true"]{color:var(--wine);border-bottom-color:var(--wine);}
.jsearch{background:none;border:0;padding:0 0 5px;cursor:pointer;white-space:nowrap;
  font-family:var(--sans);font-size:9.5px;letter-spacing:.26em;text-transform:uppercase;
  color:var(--ink-deep);border-bottom:1px solid var(--hair);}
.jsearch:hover{border-bottom-color:var(--wine);}

/* ── The contents list ────────────────────────────────────────────────── */
.jrnl-index{margin-top:clamp(6px,1vw,14px);}
a.jrnl-row{display:grid;grid-template-columns:clamp(46px,5.4vw,78px) minmax(0,1fr);
  column-gap:clamp(16px,2.4vw,40px);align-items:start;text-decoration:none;
  padding:clamp(28px,3.2vw,44px) 0;border-bottom:1px solid var(--hair);}
.jrnl-row .n{font-family:var(--display);font-size:clamp(15px,1.4vw,19px);
  color:var(--wine);font-variant-numeric:lining-nums;padding-top:.45em;}
.jrnl-row .k{display:block;font-family:var(--sans);font-size:8.5px;letter-spacing:.3em;
  text-indent:.3em;text-transform:uppercase;color:var(--wine);margin-bottom:13px;}
.jrnl-row h2{font-family:var(--display);font-weight:400;
  font-size:clamp(27px,3.5vw,46px);line-height:1.02;letter-spacing:-.008em;
  color:var(--ink-deep);max-width:17em;margin:0;transition:color .2s var(--ease);}
.jrnl-row p{font-size:clamp(15.5px,1.3vw,17px);line-height:1.6;color:var(--body);
  max-width:38em;margin:15px 0 0;}
.jrnl-row .meta{display:block;margin-top:15px;font-family:var(--sans);font-size:8.5px;
  letter-spacing:.26em;text-transform:uppercase;color:var(--muted);}
a.jrnl-row:hover h2{color:var(--wine);}
.jrnl-row[hidden]{display:none;}

/* ── Search overlay ───────────────────────────────────────────────────── */
.jmodal{position:fixed;inset:0;z-index:200;background:var(--ink-deep);
  display:none;padding:clamp(70px,11vh,150px) var(--gut) 40px;overflow-y:auto;}
.jmodal[open]{display:block;}
.jmodal-inner{max-width:860px;margin:0 auto;}
.jmodal label{display:block;font-family:var(--sans);font-size:9px;letter-spacing:.34em;
  text-transform:uppercase;color:var(--wine-up);margin-bottom:18px;}
.jmodal input{width:100%;background:none;border:0;border-bottom:1px solid rgba(242,235,217,.38);
  font-family:var(--display);font-size:clamp(28px,5vw,56px);line-height:1.2;color:#F5F0E4;
  padding:0 0 16px;outline:none;}
.jmodal input::placeholder{color:rgba(242,235,217,.3);}
.jmodal input::-webkit-search-cancel-button,
.jmodal input::-webkit-search-decoration{-webkit-appearance:none;appearance:none;}
.jmodal input:focus{border-bottom-color:var(--wine-up);}
.jmodal-sugg{margin-top:26px;display:flex;flex-wrap:wrap;gap:10px 24px;}
.jmodal-sugg button{background:none;border:0;padding:0;cursor:pointer;
  font-family:var(--display);font-style:italic;font-size:19px;color:rgba(242,235,217,.62);}
.jmodal-sugg button:hover{color:var(--wine-up);}
.jresults{margin-top:clamp(34px,4vw,56px);}
.jresults a{display:block;text-decoration:none;padding:20px 0;
  border-top:1px solid rgba(242,235,217,.17);}
.jresults .k{display:block;font-family:var(--sans);font-size:8.5px;letter-spacing:.3em;
  text-transform:uppercase;color:var(--wine-up);margin-bottom:9px;}
.jresults .t{font-family:var(--display);font-size:clamp(20px,2.4vw,27px);line-height:1.15;
  color:#F5F0E4;}
.jresults a:hover .t{color:var(--wine-up);}
.jresults .none{font-family:var(--display);font-style:italic;font-size:21px;
  color:rgba(242,235,217,.52);padding-top:22px;}
.jclose{position:fixed;top:30px;right:var(--gut);z-index:201;background:none;border:0;cursor:pointer;
  font-family:var(--sans);font-size:9px;letter-spacing:.3em;text-transform:uppercase;
  color:rgba(242,235,217,.62);}
.jclose:hover{color:#F5F0E4;}
body.modal-open{overflow:hidden;}

@media (max-width:719px){
  .mast h1{letter-spacing:.1em;text-indent:.1em;}
  .mast-sub{grid-template-columns:1fr;}
  .mast-vol{padding-bottom:0;}
  .jbar{grid-template-columns:1fr;gap:16px;align-items:start;}
  .jfilters{flex-wrap:nowrap;overflow-x:auto;gap:22px;
    -webkit-overflow-scrolling:touch;scrollbar-width:none;}
  .jfilters::-webkit-scrollbar{display:none;}
  a.jrnl-row{grid-template-columns:1fr;padding:26px 0;}
  .jrnl-row .n{display:none;}
  .jrnl-row h2{font-size:clamp(24px,6.6vw,31px);}
  .jrnl-row p{margin-top:12px;font-size:15.5px;}
}


/* ── The Journal: the article as a printed page ───────────────────────── */
body.journal .page-head{border-bottom:0;padding-bottom:clamp(20px,2.4vw,34px);}
body.journal .page-head h1{font-family:var(--display);font-weight:400;
  font-size:clamp(34px,6.2vw,86px);line-height:.98;letter-spacing:-.012em;
  color:var(--ink-deep);max-width:13em;}
body.journal .page-head .label{color:var(--wine);}
.post-dek{font-family:var(--display);font-style:italic;
  font-size:clamp(19px,2.2vw,28px);line-height:1.34;color:var(--ink);
  max-width:26em;margin:clamp(18px,2vw,28px) 0 0;}
.post-meta{margin-top:clamp(20px,2.4vw,32px);padding-top:14px;
  border-top:1px solid var(--ink-deep);font-family:var(--sans);font-size:9px;
  letter-spacing:.28em;text-transform:uppercase;color:var(--muted);}
.post-meta b{font-weight:400;color:var(--wine);}
.post-back a{font-family:var(--sans);font-size:9px;letter-spacing:.28em;
  text-transform:uppercase;color:var(--muted);text-decoration:none;}
.post-back a:hover{color:var(--wine);}

.post-body{max-width:34em;}
.post-h{font-family:var(--display);font-weight:600;
  font-size:clamp(23px,2.6vw,31px);line-height:1.14;letter-spacing:-.004em;
  margin:clamp(44px,4.6vw,62px) 0 18px;color:var(--ink-deep);}
.post-q{font-family:var(--display);font-style:italic;font-weight:400;
  font-size:clamp(24px,3vw,38px);line-height:1.24;color:var(--ink-deep);
  margin:clamp(40px,4.4vw,60px) 0;padding:0 0 0 clamp(18px,2.2vw,32px);
  border-left:2px solid var(--wine);max-width:17em;}
.post-sources h3{color:var(--wine);}
.post-sources li{font-size:11.5px;line-height:1.8;}

/* ── Essay: first person, longer, no subheads ─────────────────────────── */
body.journal .essay .post-body p{font-size:18px;line-height:1.8;margin-bottom:26px;}
.post-byline{margin-top:clamp(40px,4.4vw,58px);padding-top:20px;
  border-top:1px solid var(--hair);font-family:var(--display);font-style:italic;
  font-size:17px;line-height:1.6;color:var(--muted);max-width:32em;}
.src-list li{margin-bottom:9px;}
.src-list b{font-weight:400;color:var(--ink);}
.src-list a{color:var(--muted);text-decoration:none;
  border-bottom:1px solid rgba(92,31,36,.32);}
.src-list a:hover{color:var(--wine);border-bottom-color:var(--wine);}

/* ── The lead story, on the homepage ──────────────────────────────────── */
.lead-story{background:var(--paper);padding:clamp(52px,6vw,92px) var(--gut);
  border-top:1px solid var(--hair);}
.lead-inner{max-width:1420px;margin:0 auto;display:grid;
  grid-template-columns:var(--rail) minmax(0,1fr);
  column-gap:clamp(24px,4vw,72px);align-items:start;}
.lead-over{font-family:var(--sans);font-size:9px;letter-spacing:.3em;text-indent:.3em;
  text-transform:uppercase;color:var(--wine);margin:0;}
.lead-kicker{font-family:var(--sans);font-size:9px;letter-spacing:.3em;text-indent:.3em;
  text-transform:uppercase;color:var(--muted);margin:14px 0 0;}
a.lead-link{display:block;text-decoration:none;}
.lead-link h2{font-family:var(--display);font-weight:400;
  font-size:clamp(32px,4.4vw,62px);line-height:1.02;letter-spacing:-.012em;
  color:var(--ink-deep);margin:0;max-width:14em;transition:color .22s var(--ease);}
a.lead-link:hover h2{color:var(--wine);}
.lead-dek{font-family:var(--display);font-style:italic;
  font-size:clamp(18px,1.9vw,24px);line-height:1.38;color:var(--ink);
  max-width:28em;margin:clamp(16px,1.8vw,24px) 0 0;}
.lead-more{display:inline-block;margin-top:clamp(20px,2.4vw,30px);
  font-family:var(--sans);font-size:9.5px;letter-spacing:.28em;text-transform:uppercase;
  color:var(--ink);text-decoration:none;
  border-bottom:1px solid var(--wine);padding-bottom:5px;}
.lead-more:hover{color:var(--wine);}
/* "As seen in" — a navy band between two light ones */
.asn{background:var(--ink-deep);padding:clamp(40px,4.4vw,62px) var(--gut);}
.asn-in{max-width:1420px;margin:0 auto;display:flex;flex-direction:column;
  align-items:flex-start;gap:14px;}
.asn .k{font-family:var(--sans);font-size:9px;letter-spacing:.34em;text-indent:.34em;
  text-transform:uppercase;color:var(--wine-up);}
.asn .m{font-family:var(--display);font-style:italic;
  font-size:clamp(26px,3vw,38px);line-height:1.1;color:#F5F0E4;}
.asn a{color:inherit;text-decoration:none;border-bottom:1px solid rgba(186,110,116,.45);}
.asn a:hover{border-bottom-color:var(--wine-up);}

/* the credential line, directly under the hero */
.seen-strip{padding:18px var(--gut);background:var(--paper);
  border-top:1px solid var(--hair);border-bottom:1px solid var(--hair);}
.seen-inner{max-width:1420px;margin:0 auto;display:flex;align-items:baseline;
  gap:clamp(12px,1.6vw,18px);flex-wrap:wrap;}
.seen-strip .k{font-family:var(--sans);font-size:9px;letter-spacing:.3em;
  text-indent:.3em;text-transform:uppercase;color:var(--muted);}
.seen-strip .m{font-family:var(--display);font-style:italic;font-size:19px;color:var(--wine);}
.seen-strip a{color:inherit;text-decoration:none;
  border-bottom:1px solid rgba(92,31,36,.3);}
.seen-strip a:hover{border-bottom-color:var(--wine);}

.lead-pub{font-family:var(--display);font-style:italic;
  font-size:clamp(19px,2.1vw,26px);line-height:1.3;color:var(--wine);margin:0 0 14px;}

/* "Published in …" under a contents row */
.pub-credit{display:block;margin-top:10px;font-family:var(--sans);font-size:9px;
  letter-spacing:.26em;text-transform:uppercase;color:var(--wine);}
.pub-credit em{font-family:var(--display);font-style:italic;font-size:14px;
  letter-spacing:.02em;text-transform:none;}

/* the pointer block on a piece that ran somewhere else */
.read-on{display:block;margin:clamp(40px,4.6vw,62px) 0 0;
  padding:clamp(26px,3vw,38px);background:var(--ink-deep);}
.read-on .k{display:block;font-family:var(--sans);font-size:9px;letter-spacing:.3em;
  text-transform:uppercase;color:var(--wine-up);}
.read-on .t{display:block;margin-top:10px;font-family:var(--display);font-style:italic;
  font-size:clamp(24px,2.8vw,34px);line-height:1.18;color:#F5F0E4;}
.read-on p{margin:16px 0 22px;font-size:16px;line-height:1.66;
  color:rgba(242,235,217,.78);max-width:34em;}
.read-on .go{display:inline-block;font-family:var(--sans);font-size:9.5px;
  letter-spacing:.28em;text-transform:uppercase;color:#F5F0E4;text-decoration:none;
  border-bottom:1px solid var(--wine-up);padding-bottom:5px;}
.read-on .go:hover{color:var(--wine-up);}
@media (max-width:899px){
  .lead-inner{grid-template-columns:1fr;row-gap:18px;}
  .lead-kicker{margin-top:4px;}
}

/* Related reading, curated rather than chronological */
.post-cta{background:var(--ink-deep);border-left:0;
  padding:clamp(30px,3.6vw,46px) clamp(26px,3.2vw,44px) clamp(32px,3.8vw,48px);
  margin:clamp(44px,5vw,68px) 0 0;}
.post-cta .ask{display:block;font-family:var(--display);font-size:clamp(22px,2.6vw,32px);
  line-height:1.2;color:#F5F0E4;margin-bottom:14px;}
.post-cta p{color:rgba(242,235,217,.78);font-size:16.5px;line-height:1.66;}
#more .label{color:var(--wine);}
.more-card .k{color:var(--wine);}
.more-card .t{font-family:var(--display);font-size:clamp(19px,2vw,23px);line-height:1.18;}
a.more-card:hover .t{color:var(--wine);}

@media (max-width:719px){
  .post-q{font-size:clamp(21px,5.6vw,26px);padding-left:16px;margin:32px 0;}
  body.journal .page-head h1{font-size:clamp(30px,8.4vw,42px);}
}

body.journal .rule{background:var(--wine);}
body.journal .band#body{padding-top:clamp(44px,5vw,78px);}

body.journal .band#index{padding-top:clamp(34px,3.8vw,62px);}
